cvSetImageROI 和 cv::Mat.copyTo 和 addWeighted

功能:
基于给定的矩形设置图像的 ROI(感兴趣区域,region of interesting)
格式:
void cvSetImageROI(IplImage* image,CvRect rect);
参数
image 图像头,待处理图像
rect ROI 矩形
说明:
如果ROI为NULL并且参数rect的值不等于整个图像,则ROI被分配。大多数OpenCV函数都支持ROI,并将它作为一个独立 图像进行处理,所有像素坐标都是从ROI的左上角或者左下角(基于图像结构)开始计算的。
比如:
IplImage *img1=cvLoadImage("1.jpg");
cvSetImageROI(img1,cvRect(100,100,356,156));//设置img1的ROI区域
之后显示img1图像是只显示ROI标识的一部分,即改变了指针img1,但是它仍旧保留有原来图像的信息,在执行这一句cvResetImageROI(img1);之后,img1指示原来的图像信息。执行下面的例子即可明了显示。
实例;
IplImage *img1=cvLoadImage("1.jpg");
cvSetImageROI(img1,cvRect(100,100,356,156));
IplImage *image1 = img1;
cvShowImage("image1",image1);
cvResetImageROI(img1);
IplImage *image2 = img1;
cvShowImage("image2",image2);
cvWaitKey(0);
cvDestroyAllWindows();



示例2:

IplImage * pImage1 = cvLoadImage("H:\\opencvBK.bmp" );
IplImage * pImage2 = cvLoadImage("H:\\opencvIn.bmp" );


cv::Mat iamgeBK( pImage1 );
cv::Mat imageIn( pImage2 );

cv::Mat imageROI = iamgeBK( cv::Rect( 10, 10, imageIn.cols, imageIn.rows ) );

imageIn.copyTo(imageROI);

cv::namedWindow("result");
cv::imshow("result",iamgeBK);
cv::waitKey(); 

还可以参考这篇文章
和这篇文章:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值