码迷,mamicode.com
首页 > 其他好文 > 详细

ROI区域图像叠加

时间:2016-11-08 17:04:54      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:显示   csdn   nbsp   win   类型   south   highlight   实现图   net   

//----------------------------------【ROI_AddImage( )函数】----------------------------------  
// 函数名:ROI_AddImage()  
//     描述:利用感兴趣区域ROI实现图像叠加  
//----------------------------------------------------------------------------------------------  
bool ROI_AddImage()  
{  
   
       //【1】读入图像  
       Mat srcImage1= imread("dota_pa.jpg");  
       Mat logoImage= imread("dota_logo.jpg");  
       if(!srcImage1.data ) { printf("读取srcImage1错误~! \n"); return false; }  
       if(!logoImage.data ) { printf("读取logoImage错误~! \n"); return false; }  
   
       //【2】定义一个Mat类型并给其设定ROI区域  
       Mat imageROI= srcImage1(Rect(200,250,logoImage.cols,logoImage.rows));  
   
       //【3】加载掩模(必须是灰度图)  
       Mat mask= imread("dota_logo.jpg",0);  
   
       //【4】将掩膜拷贝到ROI  
       logoImage.copyTo(imageROI,mask);  
   
       //【5】显示结果  
       namedWindow("<1>利用ROI实现图像叠加示例窗口");  
       imshow("<1>利用ROI实现图像叠加示例窗口",srcImage1);  
   
       return true;  
}  

 这个函数首先是载入了两张jpg图片到srcImage1和logoImage中,然后定义了一个Mat类型的imageROI,并使用cv::Rect设置其感兴趣区域为srcImage1中的一块区域,将imageROI和srcImage1关联起来。接着定义了一个Mat类型的的mask并读入dota_logo.jpg,顺势使用Mat:: copyTo把mask中的内容拷贝到imageROI中,于是就得到了最终的效果图,namedWindow和imshow配合使用,显示出最终的结果。

 

技术分享

 

这里白色的dota2 logo,就是通过操作之后加上去的图像。

ROI区域图像叠加

标签:显示   csdn   nbsp   win   类型   south   highlight   实现图   net   

原文地址:http://www.cnblogs.com/Memroy-chen/p/6043243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!