python实现图片加文字水印OPenCV和PIL库
短信预约 -IT技能 免费直播动态提醒
在python中我们可以使用openCV给图片添加水印,这里注意openCV无法添加汉字水印,添加汉字水印上可使用PIL库给图片添加水印
一:openCV给图片添加水印
1:安装openCV
pip install opencv-python
2:使用openCV给图片添加水印实例:
# -*- coding: utf-8 -*-
import cv2
# 载入突破
img = cv2.imread('test.jpg')
# 给图片添加文字水印
# cv2.putText(图像,需要添加字符串,需要绘制的坐标,字体类型,字号,字体颜色,字体粗细)
img2 = cv2.putText(img, 'test', (100, 100), cv2.LINE_AA, 2, (249, 249, 249), 4)
# 保存图片
cv2.imwrite('wj.jpg', img2)
# 下面是将生成的图片再弹窗中显示
cv2.imshow('img',img2)
cv2.waitKey(0)
cv2.destoryAllWindows('img')
根据如上代码生成的水印图片如下:
二:使用PIL给图片添加水印
# -*- coding: utf-8 -*-
import cv2
import numpy
from PIL import Image, ImageDraw, ImageFont
img = cv2.imread('test.jpg')
# 判断是否是openCV图片类型
if (isinstance(img, numpy.ndarray)):
# 转化成PIL类型
img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
draw = ImageDraw.Draw(img)
# 字体的格式
textSize = 80
fontStyle = ImageFont.truetype(
"font/simsun.ttc", textSize, encoding="utf-8")
# 绘制文本
left = 100
top = 100
text = '中国'
textColor = (168, 121, 103)
draw.text((left, top), text, textColor, font=fontStyle)
# 转换回OpenCV类型
img2 = cv2.cvtColor(numpy.asarray(img), cv2.COLOR_RGB2BGR)
# 保存图片
cv2.imwrite('wj.jpg', img2)
cv2.imshow('img',img2)
cv2.waitKey(0)
cv2.destoryAllWindows('img')
根据如上代码现象如下:
以上就是python实现图片加水印方式OPenCV和PIL库的详细内容,更多关于使用python为图片加水印的资料请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341