亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python批量圖片去水印的方法

 更新時間:2021年05月26日 10:40:38   作者:chingho  
​平常工作中,有時為了采用網(wǎng)絡(luò)的一些素材,但這些素材往往被打了水印,如果我們不懂PS就無法去掉水印,或者無法批量去掉水印。本文就介紹了Python批量圖片去水印的方法,感興趣的可以了解一下

​平常工作中,有時為了采用網(wǎng)絡(luò)的一些素材,但這些素材往往被打了水印,如果我們不懂PS就無法去掉水印,或者無法批量去掉水印。這些就很影響我們的工作效率。

今天我們就一起來,用Python + OpenCV三步去除水印,去水印需要使用的庫:cv2、numpy。cv2是基于OpenCV的圖像處理庫,可以對圖像進行腐蝕,膨脹等操作;numpy這是一個強大的處理矩陣和維度運算的庫。

圖片去水印原理

1、標定噪聲的特征,使用cv2.inRange二值化標識噪聲對圖片進行二值化處理,具體代碼:cv2.inRange(img, np.array([200, 200, 240]), np.array([255, 255, 255])),把[200, 200, 200]~[255, 255, 255]以外的顏色處理為0;

2、使用OpenCV的dilate方法,擴展特征的區(qū)域,優(yōu)化圖片處理效果;

3、使用inpaint方法,把噪聲的mask作為參數(shù),推理并修復圖片。

去掉右下角的水印步驟

1、從源圖片,截取右下角部分,另存為新圖片;

2、識別水印,顏色值為:[200, 200, 200]~[255, 255, 255]

3、去掉水印,還原圖片;

4、把源圖片、去掉水印的新圖片,進行重疊合并;

實現(xiàn)代碼

效果對比

import cv2
import numpy as np
from PIL import Image
import os
​
dir = os.getcwd()
path = "1.jpg"
newPath = "new.jpg"
img=cv2.imread(path,1)
hight,width,depth=img.shape[0:3]
​
#截取
cropped = img[int(hight*0.8):hight, int(width*0.7):width]  # 裁剪坐標為[y0:y1, x0:x1]
cv2.imwrite(newPath, cropped)
imgSY = cv2.imread(newPath,1)
​
#圖片二值化處理,把[200,200,200]-[250,250,250]以外的顏色變成0
thresh = cv2.inRange(imgSY,np.array([200,200,200]),np.array([250,250,250]))
#創(chuàng)建形狀和尺寸的結(jié)構(gòu)元素
kernel = np.ones((3,3),np.uint8)
#擴展待修復區(qū)域
hi_mask = cv2.dilate(thresh,kernel,iterations=10)
specular = cv2.inpaint(imgSY,hi_mask,5,flags=cv2.INPAINT_TELEA)
cv2.imwrite(newPath, specular)
​
#覆蓋圖片
imgSY = Image.open(newPath)
img = Image.open(path)
img.paste(imgSY, (int(width*0.7),int(hight*0.8),width,hight))
img.save(newPath)

實現(xiàn)效果如下圖,這個默認是去掉白色右下角的水印,大家可以根據(jù)自己的需求進行更改。

到此這篇關(guān)于Python批量圖片去水印的示例代碼的文章就介紹到這了,更多相關(guān)Python批量圖片去水印的示例代碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python整小時 整天時間戳獲取算法示例

    python整小時 整天時間戳獲取算法示例

    今天小編就為大家分享一篇python整小時 整天時間戳獲取算法示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python+pytest接口自動化之日志管理模塊loguru簡介

    python+pytest接口自動化之日志管理模塊loguru簡介

    python中有一個用起來非常簡便的第三方日志管理模塊--loguru,不僅可以避免logging的繁瑣配置,而且可以很簡單地避免在logging中多進程多線程記錄日志時出現(xiàn)的問題,甚至還可以自定義控制臺輸出的日志顏色,接下來我們來學習怎么使用loguru模塊進行日志管理
    2022-05-05
  • Python?time模塊時間獲取和轉(zhuǎn)換方法

    Python?time模塊時間獲取和轉(zhuǎn)換方法

    這篇文章主要介紹了Python?time模塊時間獲取和轉(zhuǎn)換,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • 詳解 Python中LEGB和閉包及裝飾器

    詳解 Python中LEGB和閉包及裝飾器

    這篇文章主要介紹了詳解 Python中LEGB和閉包及裝飾器的相關(guān)資料,主要介紹了函數(shù)作用域和閉包的理解和使用方法及Python中的裝飾器,需要的朋友可以參考下
    2017-08-08
  • Python代碼列表求并集,交集,差集

    Python代碼列表求并集,交集,差集

    這篇文章主要介紹了Python代碼列表求并集,交集,差集,下面文章講詳細的介紹如何利用python代碼實現(xiàn)并集,交集,差集的相關(guān)資料展開內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • python學習之matplotlib繪制散點圖實例

    python學習之matplotlib繪制散點圖實例

    這篇文章主要介紹了python學習之matplotlib繪制散點圖實例,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Python?異步之非阻塞流使用示例詳解

    Python?異步之非阻塞流使用示例詳解

    這篇文章主要為大家介紹了Python?異步之非阻塞流使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Python用類實現(xiàn)撲克牌發(fā)牌的示例代碼

    Python用類實現(xiàn)撲克牌發(fā)牌的示例代碼

    這篇文章主要介紹了Python用類實現(xiàn)撲克牌發(fā)牌的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • 使用Python實現(xiàn)給企業(yè)微信發(fā)送消息功能

    使用Python實現(xiàn)給企業(yè)微信發(fā)送消息功能

    本文將介紹如何使用python3給企業(yè)微信發(fā)送消息,文中有詳細的圖文解說及代碼示例,對正在學習python的小伙伴很有幫助,需要的朋友可以參考下
    2021-12-12
  • 用Python從零實現(xiàn)貝葉斯分類器的機器學習的教程

    用Python從零實現(xiàn)貝葉斯分類器的機器學習的教程

    這篇文章主要介紹了用Python從零實現(xiàn)貝葉斯分類器的教程,樸素貝葉斯算法屬于機器學習中的基礎(chǔ)內(nèi)容、實用而高效,本文詳細展示了用Python語言實現(xiàn)的步驟,需要的朋友可以參考下
    2015-03-03

最新評論