python实现图片加文字水印OPenCV和PIL库
程序员文章站
2022-03-13 22:58:56
目录一:opencv给图片添加水印二:使用pil给图片添加水印在python中我们可以使用opencv给图片添加水印,这里注意opencv无法添加汉字水印,添加汉字水印上可使用pil库给图片添加水印一...
在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为图片加水印的资料请关注其它相关文章!