小战神的博客

用行动来证明自己,他们的选择是错误的!

关于opencv 图像掩膜操作srcImage.copyto(dstImage, mask)说明

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

#include <iostream>
using namespace std;
using namespace cv;


bool ROI_AddImage()
{
	Mat srcImage=imread("4.jpg");
	Mat logoImage = imread("1.png");
	Mat imgROI = srcImage(Rect(200,250,logoImage.cols,logoImage.rows));
	Mat mask = imread("1.png",0);
	logoImage.copyTo(imgROI,mask);
	namedWindow("1");
	imshow("1",srcImage);
	return true;
}
int main()
{
	
	ROI_AddImage();
	waitKey(0);
}

对于函数srcImage.copyto(dstImage, mask),mask作为一个掩模板,如果在某个像素点(i, j)其值为1(只看第一通道,所以mask单通道即可)则把srcImage.at(i, j)处的值直接赋给dstImage.at(i, j),如果其值为0则dstImage.at(i, j)处保留其原始像素值。

下面我给大家附上书籍opencv3上的测试代码:

阅读更多
文章标签: vc opencv 图像处理
个人分类: openCV
上一篇关于opencv2.4.10鼠标操作画矩形
下一篇Open CV 对图像数据进行缩短运算实例
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭