opencv cvSetImageROI和cvResetImageROI的使用

opencv cvSetImageROI可用于对图片某个区域的截取,截取后如果还要用原图像,需要用cvReSetImageROI将原图像重置下。
#include <stdio.h> #include <cv.h> #include <cxcore.h> #include <highgui.h> int main(int argc, char** argv) { FILE* fp = fopen("..\\result.txt", "w+"); const char* filename = "..\\gray_diff.jpg"; //img AND img_copy is the same,use to draw different result IplImage *img1 = cvLoadImage(filename); cvSetImageROI(img1, cvRect(100, 100, 356, 156)); IplImage *image1 = cvCloneImage(img1);//这里注意用cvCloneImage或者cvCopy,涉及指针问题尽量不要直接用image1=img1去进行赋值,不然图像的释放时候会成为问题 cvShowImage("image1", image1); cvResetImageROI(img1); IplImage *image2 = cvCloneImage(img1); cvShowImage("image2", image2); cvWaitKey(0); cvDestroyAllWindows(); return 0; }

 

posted @ 2016-11-13 17:21  柳安花明  阅读(3258)  评论(0编辑  收藏  举报