毕业设计角点检测之OpenCV学习笔记(1):ROI(regions of interest)

 

 

 

在某些应用场景中我们对图像的操作仅限于图像的某一特定的区域,比如识别码、一张图片上面的字符,那么只需要处理带字符的那个区域就可以,也就是我们常说的ROI

如果想要在一张图片中添加水印,比如在FCJ.jpg这张图片中

 
的左上部分加上博主的印logo.png
则需要在用到ROI(regions of interest)感兴趣区域。
在将图片融合的过程中使用到OpenCV提供的函数:
<strong>void addWeighted(InputArray src1, double alpha, InputArray src2,double beta, double gamma, OutputArray dst, int dtype = -1);  </strong>
通过这个函数实现图片的线性融合,在这个函数的原型中的各个参数分别代表

src1:图片1、alpha:图片1的融合比例、src2:图片2、beta:图片2的融合比例、gamma:偏差。


 
<strong>//-----------------------------------【程序说明】----------------------------------------------  
//  程序名称:图像的载入,显示与输出
// VS2015版   OpenCV版本:3.4.0  
//      2018年1月12日 Create by bilidi  
//  描述: 图像的载入,显示与输出 一站式剖析
//------------------------------------------------------------------------------------------------  


#include<opencv2/core/core.hpp>  
#include<opencv2/highgui/highgui.hpp>  


using namespace cv;




int main()
{
	//-----------------------------------【一、图像的载入和显示】--------------------------------------  
	//     描述:以下三行代码用于完成图像的载入和显示  
	//--------------------------------------------------------------------------------------------------  


	Mat girl = imread("girl.jpg"); //载入图像到Mat  
	namedWindow("女孩"); //创建一个名为 "【1】女孩"的窗口   
	imshow("女孩", girl);//显示名为 "【1】女孩"的窗口   


//-----------------------------------【二、初级图像混合】--------------------------------------  
//     描述:二、初级图像混合  
//-----------------------------------------------------------------------------------------------  
//载入图片  
	Mat image = imread("FCJ.jpg", 199);//
	Mat logo = imread("logo.png");


	//载入后先显示  
	namedWindow("发财鸡");
	imshow("发财鸡", image);


	namedWindow("印章");
	imshow("印章", logo);


	//定义一个Mat类型,用于存放,图像的ROI 
	//imageROI和image使用相同的数据,所以imageROI改变image就会改变
	Mat imageROI;
	//方法一  
	imageROI = image(Rect(50, 50, logo.cols, logo.rows));
	//方法二  
	//imageROI=image(Range(50,50+logo.rows),Range(50,50+logo.cols));  


	//将logo加到原图上  
	addWeighted(imageROI, 0., logo,1.0, 0., imageROI);


	//显示结果  
	namedWindow("发财鸡+印章");
	imshow("发财鸡+印章", image);


	//-----------------------------------【三、图像的输出】--------------------------------------  
	//     描述:将一个Mat图像输出到图像文件  
	//-----------------------------------------------------------------------------------------------  
	//输出一张jpg图片到工程目录下  
	imwrite("output.jpg", image);


	waitKey();


	return 0;
}</strong>
 
发布了5 篇原创文章 · 获赞 0 · 访问量 214

猜你喜欢

转载自blog.csdn.net/bilidi/article/details/79047803