关于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)