OpenCV 截取图像中某一区域的方法


Mat图像存储:

1 Mat img= imread(image); 2 Rect rect(50,20, 200, 50); 3 Mat ROI = img(rect); 4 imshow("ROI_WIN",ROI);

- 其中:Rect的函数定义为: Rect(_Tp _x, _Tp _y, _Tp _width, _Tp _height); 
_Tp _x:表示矩形左上角顶点的x坐标; _Tp _y:表示矩形左上角顶点的y坐标; 
_Tp _width:表示矩形框的宽度 ; _Tp _height:表示矩形框的高度

另外:srcImage(rect).copyTo(roiImage)也可以达到同样的效果!

IplImage*图像存储:

1 CvSize size= cvSize(40,50);//区域大小
2 cvSetImageROI(pSrc,cvRect(60,70,size.width, size.height));//设置源图像ROI
3 IplImage* pDest = cvCreateImage(size,pSrc->depth,pSrc->nChannels);//创建目标图像
4 cvCopy(pSrc,pDest); //复制图像
5 cvResetImageROI(pDest);//源图像用完后,清空ROI
6 cvSaveImage("Roi.jpg",pDest);//保存目标图像

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM