1. 程式人生 > >OpenCV:感興趣區域ROI相關函式操作

OpenCV:感興趣區域ROI相關函式操作

1. 之前版本函式

void cvSetImageROI(IplImage* image, CvRect rect)//設定ROI區域,只顯示ROI區域

void cvResetImageROI(IplImage* image);//復位ROI區域,重置,釋放ROI區域

CvRect cvGetImageROI(const IplImage* image);//獲取ROI區域,Rect類

【注】:採用cvSetImageROI()設定ROI區域之後,再對該影象操作就是針對的該ROI區域進行處理,僅限於ROI區域,而不是整幅影象了。

2. 用ROI裁剪影象

#include <iostream>
#include <highgui.h>
 
using namespace std;
using namespace cv;
 
int main()
{
	IplImage *image = cvLoadImage("samples.bmp");
	cvShowImage("image1",image);

	//將ROI區域影象儲存在image中:左上角x、左上角y、矩形長、寬
	cvSetImageROI(image,cvRect(200,200,600,200));
	cvShowImage("imageROI",image);

	//執行cvSetImageROI()之後顯示image影象是隻顯示ROI標識的一部分,即改變了指標image,
	//但是它仍舊保留有原來影象的資訊,在執行這一句cvResetImageROI(image),之後,image指示原來的影象資訊。
	cvResetImageROI(image);
	cvShowImage("image2",image);
	cvWaitKey(0);
 
	return 0;
}

【注】:執行cvSetImageROI()之後顯示image影象是隻顯示ROI標識的一部分,即改變了指標image,但是它仍舊保留有原來影象的資訊,在執行這一句cvResetImageROI(image);之後,image指示原來的影象資訊。