opencv 创建水印图片

没做出来,只能实现图片的叠加显示,去不掉背景。有待改进

#include<opencv2/opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv) {
	//读入打开图像
	Mat src1, src2,dst,mask;
	src1 = imread("d:/gg.jpg");
	if (src1.empty()) {
		cout << "加载图像失败" << endl;
	}
	src2 = imread("d:/yj.png");
	if (src2.empty()) {
		cout << "加载图像失败" << endl;
	}
	mask= imread("d:/yj.png",128);

	double alpha = 0.5;
	if (src1.rows == src2.rows&&src1.cols == src2.cols&&src1.type() == src2.type()) {
		addWeighted(src1, alpha, src2, (1 - alpha), 0.0, dst, -1);
		//add(src1, src2, dst, Mat());//生硬相加
		//multiply(src1, src2, dst,1.0,-1);//相乘
		imshow("king", src1);
		imshow("ten", src2);
		namedWindow("output", WINDOW_AUTOSIZE);
		imshow("output", dst);
	}
	else {
		dst = src1(Rect(10, 10, src2.cols, src2.rows));
		src2.copyTo(dst,mask);
		namedWindow("output", WINDOW_AUTOSIZE);
		imshow("output", src1);
	}
	

	waitKey(0);
	return 0;
}
在Android上使用OpenCV图片添加文字水印可以通过以下步骤实现: 1. 导入OpenCV库:首先需要在Android项目中导入OpenCV库文件,可以从OpenCV官方网站下载或者使用Gradle依赖方式导入。 2. 图片加载:使用Android提供的方式加载需要加水印图片,例如使用BitmapFactory.decodeResource()方法加载本地资源图片,或者使用第三方库加载网络图片。 3. 创建OpenCV Mat对象:使用OpenCV库提供的Mat类,将加载的图片转为Mat对象用于后续操作。可以使用Imgcodecs.imread()方法将Bitmap转为Mat。 4. 添加文字水印:使用OpenCV提供的绘制文本的方法将文字水印添加到Mat对象中。可以使用Imgproc.putText()方法指定水印的位置、文本内容、颜色、字体大小等参数。 5. 转换为Bitmap:将带有水印的Mat对象转换为Bitmap对象。可以使用Bitmap.createBitmap()方法将Mat转为Bitmap。 6. 保存图片:可以选择将带有水印的Bitmap保存到本地存储器或者上传到服务器。使用Bitmap.compress()方法可以将Bitmap对象转为文件输出流,然后保存到指定路径。 需要注意的是,在添加文字水印之前,可能需要对图片进行一些预处理,例如调整大小、旋转、裁剪等操作,可以使用OpenCV提供的相关方法。 以上是使用OpenCV在Android上给图片加文字水印的简要步骤说明,具体实现可以参考OpenCV官方文档和相关示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值