关于opencv对图片添加水印

Posted jaredhan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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)

以上是关于关于opencv对图片添加水印的主要内容,如果未能解决你的问题,请参考以下文章

分享几个用 Python 给图片添加水印的方法,简单实用

Java使用OpenCV实现人脸识别/人眼检测/图片截取/合成/添加水印

使用ffmpeg给视频添加图片及文字水印

Java itext为pdf 文件添加水印核心功能代码片段

OpenCV学习1-----打开摄像头并在画面上添加水印

关于C#对图片部分操作(水印透明度)