python實(shí)現(xiàn)圖片加文字水印OPenCV和PIL庫(kù)
在python中我們可以使用openCV給圖片添加水印,這里注意openCV無(wú)法添加漢字水印,添加漢字水印上可使用PIL庫(kù)給圖片添加水印
一:openCV給圖片添加水印
1:安裝openCV
pip install opencv-python
2:使用openCV給圖片添加水印實(shí)例:
# -*- coding: utf-8 -*- import cv2 # 載入突破 img = cv2.imread('test.jpg') # 給圖片添加文字水印 # cv2.putText(圖像,需要添加字符串,需要繪制的坐標(biāo),字體類型,字號(hào),字體顏色,字體粗細(xì)) img2 = cv2.putText(img, 'test', (100, 100), cv2.LINE_AA, 2, (249, 249, 249), 4) # 保存圖片 cv2.imwrite('wj.jpg', img2) # 下面是將生成的圖片再?gòu)棿爸酗@示 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 = '中國(guó)' 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庫(kù)的詳細(xì)內(nèi)容,更多關(guān)于使用python為圖片加水印的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Django多對(duì)多ManyToManyField字段的使用
Django是一個(gè)支持多對(duì)多關(guān)系的Web框架,可以在模型中定義多對(duì)多關(guān)系,本文主要介紹了Django多對(duì)多ManyToManyField字段的使用,感興趣的可以了解一下2023-12-12python根據(jù)完整路徑獲得盤(pán)名/路徑名/文件名/文件擴(kuò)展名的方法
這篇文章主要介紹了python根據(jù)完整路徑獲得盤(pán)名,路徑名,文件名,文件擴(kuò)展名的代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04python ctypes庫(kù)2_指定參數(shù)類型和返回類型詳解
今天小編就為大家分享一篇python ctypes庫(kù)2_指定參數(shù)類型和返回類型詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Python實(shí)現(xiàn)的簡(jiǎn)單排列組合算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的簡(jiǎn)單排列組合算法,涉及Python使用itertools庫(kù)進(jìn)行排列組合運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2018-07-07基于Python+Matplotlib實(shí)現(xiàn)直方圖的繪制
Matplotlib是Python的繪圖庫(kù),它能讓使用者很輕松地將數(shù)據(jù)圖形化,并且提供多樣化的輸出格式。本文將為大家介紹如何用matplotlib繪制直方圖,感興趣的朋友可以學(xué)習(xí)一下2022-04-04Python操作JSON文件的知識(shí)點(diǎn)整理
Python?提供了內(nèi)置的?json?模塊來(lái)處理?JSON?格式的文件。該模塊主要分為讀取和寫(xiě)入?JSON?文件。本文主要為大家整理了一些Python操作JSON文件的知識(shí)點(diǎn),需要的可以參考一下2023-01-01Tensorflow2.10使用BERT從文本中抽取答案實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了Tensorflow2.10使用BERT從文本中抽取答案實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04