python實(shí)現(xiàn)圖片加文字水印OPenCV和PIL庫
在python中我們可以使用openCV給圖片添加水印,這里注意openCV無法添加漢字水印,添加漢字水印上可使用PIL庫給圖片添加水印
一:openCV給圖片添加水印
1:安裝openCV
pip install opencv-python
2:使用openCV給圖片添加水印實(shí)例:
# -*- coding: utf-8 -*-
import cv2
# 載入突破
img = cv2.imread('test.jpg')
# 給圖片添加文字水印
# cv2.putText(圖像,需要添加字符串,需要繪制的坐標(biāo),字體類型,字號,字體顏色,字體粗細(xì))
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')
根據(jù)如上代碼生成的水印圖片如下:

二:使用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)):
# 轉(zhuǎn)化成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)
# 轉(zhuǎn)換回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')
根據(jù)如上代碼現(xiàn)象如下:

以上就是python實(shí)現(xiàn)圖片加水印方式OPenCV和PIL庫的詳細(xì)內(nèi)容,更多關(guān)于使用python為圖片加水印的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
keras 使用Lambda 快速新建層 添加多個(gè)參數(shù)操作
這篇文章主要介紹了keras 使用Lambda 快速新建層 添加多個(gè)參數(shù)操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python求算數(shù)平方根和約數(shù)的方法匯總
這篇文章主要介紹了 Python求算數(shù)平方根和約數(shù)的方法匯總的相關(guān)資料,需要的朋友可以參考下2016-03-03
詳解Python3.8+PyQt5+pyqt5-tools+Pycharm配置詳細(xì)教程
這篇文章主要介紹了Python3.8+PyQt5+pyqt5-tools+Pycharm配置詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-11-11
Python通過Manager方式實(shí)現(xiàn)多個(gè)無關(guān)聯(lián)進(jìn)程共享數(shù)據(jù)的實(shí)現(xiàn)
這篇文章主要介紹了Python通過Manager方式實(shí)現(xiàn)多個(gè)無關(guān)聯(lián)進(jìn)程共享數(shù)據(jù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
django使用F方法更新一個(gè)對象多個(gè)對象字段的實(shí)現(xiàn)
這篇文章主要介紹了django使用F方法更新一個(gè)對象多個(gè)對象字段的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
python多進(jìn)程下實(shí)現(xiàn)日志記錄按時(shí)間分割
這篇文章主要為大家詳細(xì)介紹了python多進(jìn)程下實(shí)現(xiàn)日志記錄按時(shí)間分割,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
python進(jìn)行TCP端口掃描的實(shí)現(xiàn)
這篇文章主要介紹了python進(jìn)行TCP端口掃描的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12
python中文件導(dǎo)入的使用(在同一目錄下和在不同目錄下)
在Python中,使用pathlib模塊的Path類可以方便地導(dǎo)入不同目錄下的文件,本文就來介紹一下,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
全面解析python當(dāng)前路徑和導(dǎo)包路徑問題
這篇文章主要為大家介紹了python當(dāng)前路徑和導(dǎo)包路徑問題的全面解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
Django中celery的使用項(xiàng)目實(shí)例
Celery是?個(gè) 基于python開發(fā)的分布式異步消息任務(wù)隊(duì)列,通過它可以輕松的實(shí)現(xiàn)任務(wù)的異步處理,下面這篇文章主要給大家介紹了關(guān)于Django中celery使用的相關(guān)資料,需要的朋友可以參考下2022-07-07

