使用Python快速去除天貓工商執照圖片純色水印

州的先生發表於2018-07-11

一、前言

在之前的文章:使用Python爬取天貓店鋪聯絡方式|思路與方法 中我們介紹瞭如何使用Python採集天貓店鋪的企業聯絡方式。

使用Python快速去除天貓工商執照圖片純色水印

在採集的過程中,我們有兩個地方需要對圖片進行處理,其中一個是驗證碼:

使用Python快速去除天貓工商執照圖片純色水印

在這裡我們需要將驗證碼下載到本地並進行驗證碼識別。第二個地方則是店鋪工商執照的照片:

使用Python快速去除天貓工商執照圖片純色水印

圖片是帶有天貓的灰色水印的,我們將圖片下載下來:

使用Python快速去除天貓工商執照圖片純色水印

如果這樣直接對圖片進行ORC文字識別,有可能會導致不能正確識別出公司名稱來。我們需要對水印進行去除。

二、使用OpenCV快速去除水印

要對普通的圖片水印進行去除,我們可以對圖片進行灰度轉換,然後再進行二值化轉換。但是這樣的方法容易造成圖片的失真。

針對如上圖這種配色單一的水印圖片,我們可以直接將水印顏色填充替換為白色,從而實現水印的快速去除。

核心程式碼如下所示:

import cv2
import traceback
try:
    # 讀取圖片
    img = cv2.imread(filename)
    # 獲取圖片大小
    x, y, z = img.shape
    for i in range(x):
        for j in range(y):
            varP = img[i, j]
            if sum(varP) == 687:
                img[i, j] = [255, 255, 255]
    cv2.imwrite('zmister_qushuiyin.jpg', img)
except Exception as e:
    print(traceback.print_exc())
複製程式碼

這樣,我們的圖片就可以快速去除天貓的水印:

使用Python快速去除天貓工商執照圖片純色水印

三、使用PyQt5製作成桌面程式小工具

上面的程式碼快速地實現了天貓文字水印的去除,但是作為程式碼本身就不方便傳播和使用。索性藉助於PyQt5,我們將其打包為一個桌面圖形介面程式。

使用Python快速去除天貓工商執照圖片純色水印

這樣,一個簡單的去水印桌面小程式就寫完了。 需要原始碼的可以關注微信公眾號:州的先生,回覆關鍵字去水印原始碼進行獲取。

文章來源:州的先生部落格,歡迎分享,轉載請保留出處

原文地址:zmister.com/archives/30…

相關文章