本文主要是对《OpenCV3编程入门》这本书中的5.2.1 感兴趣区域:ROI这一节的ROI_AddImage()函数进行改进,使得其通用性至少提高1.3倍嘻嘻!顺便在改进过程中,对相应参数知识了解更细致点,因为初学所以可能并没有多高深,大家看看就好了!
书中源码
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;
}
这个函数的局限性在于