<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【Python】分享幾個(gè)用Python給圖片添加水印的方法,簡(jiǎn)單實(shí)用

          共 2042字,需瀏覽 5分鐘

           ·

          2021-10-02 08:22

          今天來(lái)分享幾種可以給圖片添加水印的方法,都是十分的簡(jiǎn)單實(shí)用,大家在看了之后也可以私底下去自己試試,有些方法需要的代碼量就比較少,有些方法需要的代碼量就稍微多一些,那我們開始吧
          opencv模塊

          首先我們用opencv這個(gè)庫(kù)來(lái)給圖片添加水印,主要用到的函數(shù)是cv2.putText()方法,里面共有大概9個(gè)參數(shù),當(dāng)然我們并不需要將這個(gè)9個(gè)參數(shù)統(tǒng)統(tǒng)用到,

          下面分別為大家來(lái)講述一下cv2.putText()方法中9個(gè)參數(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ì)哇、線條的樣式哇等等
          下面我們來(lái)看一下具體的代碼把
          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)
          出來(lái)的結(jié)果是這樣

          PIL模塊
          PIL是Python的第三方圖像處理庫(kù),其中Image模塊作為PIL庫(kù)的基本核心類,可以用來(lái)例如加載圖像和創(chuàng)建新圖像等用途,而說(shuō)到給在圖片上添加水印,要用到的方法就是ImageDraw.Draw.text(),里面有包括6個(gè)參數(shù),其中經(jīng)常被用到的也就下面四個(gè)
          • xy:添加水印的坐標(biāo),x坐標(biāo)和y坐標(biāo)
          • text:具體添加水印的文本內(nèi)容
          • fill、font:具體文本內(nèi)容的樣式、字體大小等等
          下面我們來(lái)看一下具體的代碼長(zhǎng)什么樣子
          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')
          出來(lái)的結(jié)果是這個(gè)樣子

          filestools模塊
          最后我們要介紹的則是filestools模塊,其本質(zhì)上也是對(duì)ImageDraw.Draw.text()方法做了進(jìn)一步的封裝,讓我們用起來(lái)會(huì)更加的簡(jiǎn)便,對(duì)比前者,我們使用add_mark()方法可以生成數(shù)量較多的水印,該方法當(dāng)中里面有8個(gè)參數(shù),其中比較重要的幾個(gè)是
          • mark:水印的文字內(nèi)容
          • color、size、opacity、space、angle:水印文字的樣式包括文字的大小、顏色、透明程度等等
          我們現(xiàn)在來(lái)看一下具體的代碼
          from watermarker.marker import add_markadd_mark(file = "test1.jpg", out = "add_mark_test1.jpg",         mark = "Python", opacity=0.2, angle=30, space=30)
          出來(lái)的結(jié)果長(zhǎng)這個(gè)樣子

          具體采用哪種方法,讀者可以自己斟酌地來(lái)使用,學(xué)習(xí)愉快!
          往期精彩回顧




          本站qq群851320808,加入微信群請(qǐng)掃碼:
          瀏覽 42
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  高清无码片| 五月丁香亭亭操逼 | 天天操天天天干 | 天天躁天干天干 | 久久黄色精品视频 |