最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python批量圖片去水印的方法

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

​平常工作中,有時為了采用網(wǎng)絡的一些素材,但這些素材往往被打了水印,如果我們不懂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é)構元素
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ù)自己的需求進行更改。

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

相關文章

  • python命令行引導用戶填寫可用的ip地址和端口號實現(xiàn)

    python命令行引導用戶填寫可用的ip地址和端口號實現(xiàn)

    這篇文章主要為大家介紹了python命令行引導用戶填寫可用的ip地址和端口號實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Python實現(xiàn)將Markdown一鍵打印為A4專業(yè)文檔

    Python實現(xiàn)將Markdown一鍵打印為A4專業(yè)文檔

    這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)將Markdown一鍵打印為A4專業(yè)文檔,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2026-01-01
  • Python中Django 后臺自定義表單控件

    Python中Django 后臺自定義表單控件

    本篇文章主要介紹了Python中Django 后臺自定義表單控件,其實 django 已經(jīng)為我們提供了一些可用的表單控件,比如:多選框、單選按鈕等,有興趣的開業(yè)了解一下。
    2017-03-03
  • pandas pivot_table() 按日期分多列數(shù)據(jù)的方法

    pandas pivot_table() 按日期分多列數(shù)據(jù)的方法

    今天小編就為大家分享一篇pandas pivot_table() 按日期分多列數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python3多線程知識點總結(jié)

    python3多線程知識點總結(jié)

    在本篇文章里小編給各位分享的是關于python3多線程的相關知識點內(nèi)容,以后需要的朋友們可以參考下。
    2019-09-09
  • Python的Tornado框架的異步任務與AsyncHTTPClient

    Python的Tornado框架的異步任務與AsyncHTTPClient

    Tornado的奧義就在于異步處理來提高單線程的Python程序執(zhí)行性能,這里我們就來詳解Python的Tornado框架的異步任務與AsyncHTTPClient,需要的朋友可以參考下
    2016-06-06
  • python變量的存儲原理詳解

    python變量的存儲原理詳解

    這篇文章主要介紹了python變量的存儲原理詳解,對于python而言,python的一切變量都是對象,變量的存儲,采用了引用語義的方式,存儲的只是一個變量的值所在的內(nèi)存地址,而不是這個變量的只本身,需要的朋友可以參考下
    2019-07-07
  • Python使用Flask實現(xiàn)將DOCX轉(zhuǎn)為Markdown

    Python使用Flask實現(xiàn)將DOCX轉(zhuǎn)為Markdown

    這篇文章主要為大家詳細介紹了如何基于Python的Flask框架編寫一個項目,能夠?qū)⑸蟼鞯?docx文件轉(zhuǎn)換為 Markdown,并提取圖片以供下載預覽,感興趣的小伙伴可以了解下
    2026-01-01
  • 詳解Python中的strftime()方法的使用

    詳解Python中的strftime()方法的使用

    這篇文章主要介紹了詳解Python中的strftime()方法的使用,是Python入門學習中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • matplotlib 輸出保存指定尺寸的圖片方法

    matplotlib 輸出保存指定尺寸的圖片方法

    今天小編就為大家分享一篇matplotlib 輸出保存指定尺寸的圖片方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05

最新評論

五大连池市| 昭觉县| 阿鲁科尔沁旗| 奇台县| 健康| 高碑店市| 大英县| 凤翔县| 霍州市| 泊头市| 巴南区| 教育| 罗城| 大城县| 乐东| 囊谦县| 白城市| 靖安县| 青州市| 蒙山县| 类乌齐县| 勃利县| 潜江市| 汉源县| 聂荣县| 成安县| 乌鲁木齐市| 绥芬河市| 英山县| 康马县| 甘孜县| 太康县| 商水县| 沙河市| 宁南县| 肇东市| 岳普湖县| 德昌县| 句容市| 宝坻区| 施甸县|