欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于opencv对图片添加水印

程序员文章站 2022-05-27 18:58:55
有一段时间没有写博客了,最近因为自己需要给图片添加水印,就写了个简单的图片添加水印 python:3.6.7 pycharm opencv是一个开源的库,是有C++编写,支持C ++,Python,Java和MATLAB接口,并支持Windows,Linux, Android 和Mac OS倾向于视 ......

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

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)