您当前的位置: 首页 >  opencv

qianbo_insist

暂无认证

  • 0浏览

    0关注

    399博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

opencv copyto给图片加logo

qianbo_insist 发布时间:2021-07-06 18:17:14 ,浏览量:0

在Mat矩阵类的成员函数中copyTo(roi , mask)函数是非常有用的一个函数,尤其是后面的mask可以实现蒙版的功能,我们用几个实例来说明它的作用。我们要注意mask的数据类型,必须是CV_8U,且通道数或者是1,或者与roi一致。

使用画图来做logo

做一个黑色底图,写上红色的字,山高水长,存成1.png 山高水长

另外找一副我们的主打图: 紫砂壶

show me the code
#include 
#include 
#include 
#include 
#ifdef _DEBUG
#pragma comment(lib,"opencv_world440d.lib")
#else
#pragma comment(lib,"opencv_world440.lib")
#endif

#include "calc_integrate.h"
using namespace cv;
using namespace std;

int main()
{
	Mat img1 = imread("E:/zsh.jpg", 1);
	Mat img2 = imread("E:/1.png", 1);
	imshow("initial img1", img1);

	Mat roi = img1(Rect(0, 0, img2.cols, img2.rows));

	//Mat mask(roi.rows, roi.cols, roi.depth(), Scalar(0));
	Mat mask(img2);
	img2.copyTo(roi, mask);
	imshow("img2", img2);
	imshow("mask img1", img1);
	waitKey();
	return 0;
	//calc_interate("bike55.bmp");
}

把1.png作为mask 写入主图 山高水长 是不是很简单。

调整把logo放中间

在这里插入图片描述

int main()
{
	Mat img1 = imread("E:/zsh.jpg", 1);
	Mat img2 = imread("E:/1.png", 1);
	imshow("initial img1", img1);

	int x, y;
	x = img1.cols / 2 - img2.cols / 2;
	y = img1.rows / 2 - img2.rows / 2;
	Mat roi = img1(Rect(x, y, img2.cols, img2.rows));

	//Mat mask(roi.rows, roi.cols, roi.depth(), Scalar(0));
	Mat mask(img2);
	img2.copyTo(roi, mask);
	imshow("img2", img2);
	imshow("mask img1", img1);
	waitKey();
	return 0;
	//calc_interate("bike55.bmp");
}
关注
打赏
1663161521
查看更多评论
立即登录/注册

微信扫码登录

0.0354s