您的位置:首页 > 编程语言

【OpenCV学习笔记】【编程实例】三(将一个图像中的指定区域拷贝到另一个图像的指定区域

2014-09-02 14:00 671 查看
// GetArea.cpp : 定义控制台应用程序的入口点。
//opencv把将第一幅图像的一小块区域拷贝到第二幅图像的指定区域
//两个感兴趣区域要大小一致,不然会出错
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
int main()
{
//加载第一幅图片,0为灰度图像,1为彩色图像
IplImage* img = cvLoadImage("d:\\test.jpg",1);
//定义矩形区域
CvRect roi =cvRect(150, 150, 100, 100);
//显示第一幅原始图像
cvNamedWindow("第一幅图像");
cvShowImage("第一幅图像", img);
//加载第二幅图片,0为灰度图像,1为彩色图像
IplImage* img1 = cvLoadImage("d:\\test1.jpeg",1);
//定义矩形区域
CvRect roi1 = cvRect(100, 100, 100, 100);
//显示第二幅原始图像
cvNamedWindow("第二幅图像");
cvShowImage("第二幅图像", img1);
//根据给定矩形设置图像的ROI(Region of Interesting)
cvSetImageROI(img, roi);
cvSetImageROI(img1, roi1);
//将第一幅图像中的ROI区域拷贝到第二幅图像的感兴趣区域中
cvCopy(img, img1);
//取消img和img1上的感兴趣区域
cvResetImageROI(img);
cvResetImageROI(img1);
//显示结果
cvNamedWindow("最终结果");
cvShowImage("最终结果", img1);

cvWaitKey(-1);
//释放内存
cvReleaseImage(&img);
cvReleaseImage(&img1);
//释放窗口
cvDestroyAllWindows();
return 0;
}

运行效果图:






转自 : opencv把一个图像的一小块区域拷贝到另一个图像的指定区域

代码下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐