cvSetImageROI 和 cv::Mat.copyTo 和 addWeighted
来源:互联网 发布:av天堂最新域名多少 编辑:程序博客网 时间:2024/06/07 11:14
功能:
基于给定的矩形设置图像的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();
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();
还可以参考这篇文章
Opencv 图像叠加 添加水印
http://www.cnblogs.com/mfryf/archive/2012/03/08/2385304.html和这篇文章:
ROI区域图像叠加&初级图像混合 全剖析
http://blog.csdn.net/huang9012/article/details/21811715
0 0
- cvSetImageROI 和 cv::Mat.copyTo 和 addWeighted
- cv::Mat和IPlImage
- cv::Mat和 IplImage
- 在一幅图上叠加第二幅小图作为logo的实现 ,addWeighted和copyTo方法 opencv
- using namespace cv 和 Mat
- cvSetImageROI和cvResetImageROI
- cvSetImageROI和cvResetImageROI
- cvSetImageROI和cvResetImageROI
- IplImage和cv::Mat的相互转换
- OpenCV - cv::Mat 和 IplImage 的转换
- cvGoodFeaturesToTrack和(CV::Mat 下的goodFeaturesToTrack)
- IplImage和cv::Mat的转化
- OpenCV - cv::Mat 和 IplImage 的转换
- cv Mat 用数组和指针初始化
- cv::Mat的翻转和转置
- 【OpenCV】cv::Mat 和 IplImage转换
- opencv图像读取和cv::Mat
- IplImage和cv::Mat间的转换
- 各大浏览器 CSS3 和 HTML5 兼容速查表
- 怎么学unity3d-unity3d学习路线建议
- 【LeetCode】Max Points on a Line
- HDU2489 Minimal Ratio Tree
- 进程间的通讯(IPC)方式
- cvSetImageROI 和 cv::Mat.copyTo 和 addWeighted
- java字符编码转换研究
- Android MediaPlayer
- 在命令行获取标准输入序列的反互序列,pep序列和长度信息
- 南京网站建设谈如何让网站高端大气上档次
- NodeJS中将回调函数转换成Promise的例子
- lpc23xx时钟和外部中断学习
- IOS学习 Custom iOS Target Properties
- 软件的各种版本