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

// 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把一个图像的一小块区域拷贝到另一个图像的指定区域

代码下载



  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值