python 實現圖片添加文字水印

在python中咱們能夠使用openCV給圖片添加水印,這裏注意openCV沒法添加漢字水印,添加漢字水印上可以使用PIL庫給圖片添加水印html

一:openCV給圖片添加水印python

1:安裝openCV字體

pip install opencv-python

若是安裝報錯的話,能夠參考:https://www.wj0511.com/site/d...spa

2:使用openCV給圖片添加水印實例:3d

# -*- 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')

根據如上代碼生成的水印圖片以下:
image.png
二:使用PIL給圖片添加水印code

# -*- 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')

根據如上代碼現象以下:
image.pnghtm

相關文章
相關標籤/搜索