您的位置:首页 > 运维架构

opencv获取图像感兴趣部分

2014-04-16 20:57 239 查看
1. IplImage* 类型存储的图像

格式:

void cvSetImageROI(IplImage* image,CvRect rect);

参数

image 图像头,待处理图像

rect ROI 矩形

说明:

如果ROI为NULL并且参数rect的值不等于整个图像,则ROI被分配。大多数OpenCV函数都支持ROI,并将它作为一个独立图像进行处理,所有像素坐标都是从ROI的左上角或者左下角(基于图像结构)开始计算的。

IplImage *original1=cvLoadImage("1.jpg");
     IplImage *frame1=NULL;
     cvSetImageROI(original1,cvRect(0,0,frame1->width,frame1->height));//设置original的ROI区域
     cvResize(frame1, original1);//缩放frame1图像,并将数据拷贝到original
     cvResetImageROI(original1);//这句是必须的,在original的ROI区域显示frame1


2.Mat 类型存储的图像

(1)使用拷贝构造函数Mat(constMat& m, const Rect& roi ),矩形roi指定了兴趣区

例如:

[cpp] view
plaincopy





Mat src = imread(“xx.jpg”);

Mat srcROI( src, Rect(0,0,src.cols/2,src.rows/2));

srcROI的数据与源图像src共享存储区,所以此后在srcROI上的操作也会作用在源图像src上。

(2)使用操作符"()",即Mat operator () ( const Rect&roi ) const,矩形roi指定了兴趣区

例如:

[cpp] view
plaincopy





Mat src = imread(“xx.jpg”);

Mat srcROI = src(Rect(0,0,src.cols/2,src.rows/2));

srcROI的数据与源图像src共享存储区,所以此后在srcROI上的操作也会作用在源图像src上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: