【Python】分享几个用Python给图片添加水印的方法,简单实用
今天來分享幾種可以給圖片添加水印的方法,都是十分的簡單實用,大家在看了之后也可以私底下去自己試試,有些方法需要的代碼量就比較少,有些方法需要的代碼量就稍微多一些,那我們開始吧
opencv模塊
首先我們用opencv這個庫來給圖片添加水印,主要用到的函數(shù)是cv2.putText()方法,里面共有大概9個參數(shù),當(dāng)然我們并不需要將這個9個參數(shù)統(tǒng)統(tǒng)用到,
下面分別為大家來講述一下cv2.putText()方法中9個參數(shù)的含義,介紹如下:
image:印有水印的圖片
text:水印的具體文字
org:水印放置的橫縱坐標(biāo),(x坐標(biāo),y坐標(biāo))
font、fontScale:水印的字體相關(guān)的參數(shù)
color:水印的顏色
thinkness、lineType、bottomLeftOrigin:印有水印的圖片相關(guān)的設(shè)置,線條的粗細(xì)哇、線條的樣式哇等等
下面我們來看一下具體的代碼把
img=cv2.imread("test2.jpg")?#?導(dǎo)入我們需要添加水印的圖片 RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) blank_img = np.zeros(shape=(RGB_img.shape[0],RGB_img.shape[1],3), dtype=np.uint8) font = cv2.FONT_HERSHEY_SIMPLEX #?添加水印的文字內(nèi)容 cv2.putText(blank_img,text='Learn Python',org=(40, 90),fontFace=font,fontScale= 2,color=(255,0,0),thickness=10,lineType=cv2.LINE_4)然后我們將印有水印的圖片和原圖進(jìn)行結(jié)合,代碼如下
blended = cv2.addWeighted(src1=RGB_img, alpha=0.7,src2=blank_img, beta=1, gamma = 2) plt.imshow(blended)出來的結(jié)果是這樣
PIL模塊
PIL是Python的第三方圖像處理庫,其中Image模塊作為PIL庫的基本核心類,可以用來例如加載圖像和創(chuàng)建新圖像等用途,而說到給在圖片上添加水印,要用到的方法就是ImageDraw.Draw.text(),里面有包括6個參數(shù),其中經(jīng)常被用到的也就下面四個
xy:添加水印的坐標(biāo),x坐標(biāo)和y坐標(biāo)
text:具體添加水印的文本內(nèi)容
fill、font:具體文本內(nèi)容的樣式、字體大小等等
下面我們來看一下具體的代碼長什么樣子
im = Image.open('test1.jpg') draw = ImageDraw.Draw(im) text = "Learn Python" #?設(shè)置字體、字體大小等等 font?=?ImageFont.truetype('arial.ttf',?33) #?添加水印 draw.text((50, 50), text, font=font) im.show() # 保存圖片 im.save('watermark2.jpg')出來的結(jié)果是這個樣子
filestools模塊
最后我們要介紹的則是filestools模塊,其本質(zhì)上也是對ImageDraw.Draw.text()方法做了進(jìn)一步的封裝,讓我們用起來會更加的簡便,對比前者,我們使用add_mark()方法可以生成數(shù)量較多的水印,該方法當(dāng)中里面有8個參數(shù),其中比較重要的幾個是
mark:水印的文字內(nèi)容
color、size、opacity、space、angle:水印文字的樣式包括文字的大小、顏色、透明程度等等
我們現(xiàn)在來看一下具體的代碼
from watermarker.marker import add_mark add_mark(file = "test1.jpg", out = "add_mark_test1.jpg",mark = "Python", opacity=0.2, angle=30, space=30)出來的結(jié)果長這個樣子
具體采用哪種方法,讀者可以自己斟酌地來使用,學(xué)習(xí)愉快!
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯黃海廣老師《機(jī)器學(xué)習(xí)課程》視頻課本站qq群851320808,加入微信群請掃碼:
總結(jié)
以上是生活随笔為你收集整理的【Python】分享几个用Python给图片添加水印的方法,简单实用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 30分钟回顾AI数学基础知识(一)
- 下一篇: 如何在Android实现录屏直播