【OpenCV學習】ROI區域


作者:gnuhpc
出處:http://www.cnblogs.com/gnuhpc/

#include "highgui.h"
#include "cv.h"
#include <iostream.h>

void main()
{
    IplImage *src=/blog.armyourlife.info/cvLoadImage("lena.jpg",-1);//讀入圖像
    IplImage *dst;
    CvRect ROI_rect_src;
    CvRect ROI_rect_dst;
    cvNamedWindow("src",CV_WINDOW_AUTOSIZE);
    cvMoveWindow("src",200,200);
    cvShowImage("src",src);//輸出未定位ROI的圖像
    cvWaitKey(0);
    
    ROI_rect_src.x=src->width/2;
    ROI_rect_src.y=src->height/2;
    ROI_rect_src.width=200;
    ROI_rect_src.height=200;
    cvSetImageROI(src,ROI_rect_src);
    cout<<"輸出圖像區域"<<endl;
    cout<<(src->roi->xOffset)<<""<<(src->roi->yOffset)<<endl;
    cout<<(src->roi->width)<<""<<(src->roi->height)<<endl;
    cvShowImage("src",src);//輸出設定ROI以后的圖像

    dst=cvCloneImage(src);//復制出ROI區域的圖像
    ROI_rect_dst=cvGetImageROI(dst);//得到圖像的ROI區域
    cout<<"輸出目標圖像的ROI"<<endl;
    cout<<ROI_rect_dst.x<<" "<<ROI_rect_dst.y<<endl;
    cout<<ROI_rect_dst.width<<" "<<ROI_rect_dst.height<<endl;
    cvNamedWindow("dst",CV_WINDOW_AUTOSIZE);
    cvMoveWindow("dst",400,200);
    cvShowImage("dst",dst);
    cvWaitKey(0);

    cvResetImageROI(dst);//釋放目標圖像的ROI
    cvShowImage("dst",dst);
    cvWaitKey(0);
    cvReleaseImage(&src);
    cvReleaseImage(&dst);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM