关于opencv对图片添加水印

有一段时间没有写博客了,最近因为自己需要给图片添加水印,就写了个简单的图片添加水印

python:3.6.7

pycharm

opencv是一个开源的库,是有C++编写,支持C ++,Python,Java和MATLAB接口,并支持Windows,Linux,  Android  和Mac OS倾向于视觉应用。

本次使用的python

首先安装opencv模块,pip install opencv-python

国外的网络下载通常比较慢所以此处还有一个国内的下载地址

pip install opencv-python  -i https://pypi.tuna.tsinghua.edu.cn/simple

下载成功后,开始编写代码 ~~。

首先导入CV2

import  cv2

cv2.imread(‘准备添加水印的图片’)  #此处为读取需要添加水印的图片具体信息

使用函数cv2.imread(filepath,flags)读入图片

      • filepath:要读入图片的完整路径
      • flags:读入图片的标志 
        • cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
        • cv2.IMREAD_GRAYSCALE:读入灰度图片
        • cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通

cv2.imread返回的数据主要图片的属性值[[[206 240 233] [201 242 234] [204 240 234]......] 为分辨率,色值、宽度、高度等

只有返回了数据才可以进行下面才做,如果返回是None  则代表读入失败,后续操作将无法完成

下面开始添加水印:

cv2.putText()#此为添加水印

cv2.putText(x,‘text‘,(100,100),cv2.FONT_HERSHEY_SCRIPT_COMPLEX,1,(255,255,255),2)

x=‘cv2.imread返回的数据参数‘、添加的水印,水印坐标,水印字体,字体大小(数值越大。字体越大,可以出现小数),字体色值坐标,字体粗细(数值越高。字体越粗))

添加水印成功后需要将水印图片保存下来

此时需要cv2.imwrite()

cv2.imwrite(‘path+name‘,w)# 保存下来的图片路径与名称,w:im.write返回的数据。

此时水印添加成功并保存在制定的文件下

这是如果想看此图片时可用以下小窗口查看

cv2.nameWindow(‘窗口名称‘) #创建一个窗口

cv2.imshow(‘窗口名称‘,预览图片参数)#窗口名称:为nameWindow生成的窗口名称,预览图片:此处需要传入cv2.imread生成的图片参数

cv2.waitKey()  #为等待时间后关闭窗口,ms 时间

一下为粗略代码

x=cv2.imread(img_path2)cv2.namedWindow(‘test‘)w=cv2.putText(x,‘text‘,(100,100),cv2.FONT_HERSHEY_SCRIPT_COMPLEX,1,(255,255,255),2)cv2.imwrite(‘o.jpg‘,w)cv2.imshow(‘test‘,x)cv2.waitKey(2000)

原文地址:https://www.cnblogs.com/Jaredhan/p/12690868.html

时间: 2024-10-03 04:11:19

关于opencv对图片添加水印的相关文章

Opencv 图像叠加 添加水印

Opencv 图像叠加 添加水印 C++: void Mat::copyTo(OutputArray m) const C++: void Mat::copyTo(OutputArray m, InputArray mask) const 这个函数可以复制图像到另一个图像或矩阵上,可选参数是掩码 由于叠加的图像大小不一定相等,比如我们这里把一张小照片加到一张大照片上 我们可以在大照片上设置一个和小照片一样大的感兴趣区域 不使用掩码的时候,我们载入一张png,和一张jpg #include <op

Android 图片添加水印图片或者文字

给图片添加水印的基本思路都是载入原图,添加文字或者载入水印图片,保存图片这三个部分 添加水印图片: private Bitmap createWaterMaskImage(Context gContext, Bitmap src, Bitmap watermark) { String tag = "createBitmap"; Log.d(tag, "create a new bitmap"); if (src == null) { return null; } i

OpenCV -- 找图片轮廓

import cv2 img = cv2.imread( 'E:\A.jpeg' ) cv2.imshow( 'img', img ) gray = cv2.cvtColor( img, cv2.COLOR_BGR2GRAY ) ret, binary = cv2.threshold( gray, 127, 255, cv2.THRESH_BINARY ) contours, hierarchy = cv2.findContours( binary, cv2.RETR_TREE, cv2.CHA

iOS边练边学--(Quartz2D)图片添加水印

一.给图片添加水印的基本步骤 加载图片 手动创建位图上下文 绘制原生的图片 给原生的图片添加文字 生成一张图片给我们,从上下文中获取图片 关闭上下文 二.注意:位图上下文的获取方式跟layer上下文不一样.位图上下文需要我们手动创建 三.效果图

IOS 给图片添加水印(文字)

有时候上传图片要加唯一标识,简单的就是添加一个水印.这里水印我们讲文字,可以是当前系统时间.坐标.地理位置等 原理就是把一个字符串写到图片上,并且字(font)的大小由图片大小控制. 以下是封装好的一个类方法: //NavView.m + (UIImage *) addText:(UIImage *)img text:(NSString *)mark { int w = img.size.width; int h = img.size.height; UIGraphicsBeginImageCo

一般处理程序为图片添加水印

1.效果图片 2.代码说明 aspx页面上调用方法. <img src="waterImg.ashx"/> 一般处理程序页面代码. private void outputAutoSizeImg(HttpContext Context) { Context.Response.ContentType = "image/png";//设置响应头数据类型,给浏览器看. //根据物理路径读取图片到内存中 using (Image img = Image.FromF

百度编辑器ueditor给上传的图片添加水印

百度编辑器本身是没有为上传图片添加水印的功能,想要在上传的时候添加图片水印,也很简单.以 ueditor 1.2.6 为例,打开php目录下面的imageUp.php文件,查找"$info = $up->getFileInfo();",在这句代码的下面加入以下代码: /* 添加水印 start */ $water_img = "watermark.png"; //水印文件(替这里换成你要的水印) $img_min_w = 350; //添加水印需要图片最小达到

海报工厂之(一)android 如何给图片添加水印和文字

在Android中如何给图片添加水印,下面截取了部分核心代码,仅供参考: /**      * 获取图片缩小的图片      * @param src      * @return      */     public static Bitmap scaleBitmap(String src)     {         //获取图片的高和宽         BitmapFactory.Options options = new BitmapFactory.Options();        

PHP给图片添加水印

计应134(实验班)   詹加全 有些站点也许是出于推广或者防盗的目的在上传图片时给图片加上一个LOGO水印,我就见过有些站长直接用图片工具添加水印然后再上传,当然这样也能实现效果.但PHP中也可以完成给图片加水印的功能.就PHP函数功能这里就不再去浪费口舌介绍了,直接说下如何实现.大体有以下步骤 一.准备好LOGO图 这个LOGO图不限格式,gif或png或jpg都可以,大小调成合适的即可.透明度不需要,因为我们可以在PHP中灵活设置透明度.如果不会使用制图工具制作LOGO可以去谷歌一下在线L