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

使用Python簡單實(shí)現(xiàn)去除彩色水印

 更新時(shí)間:2025年02月21日 08:51:02   作者:yivifu  
這篇文章主要為大家詳細(xì)介紹了如何使用Python簡單實(shí)現(xiàn)去除彩色水印效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

有一張下面這樣的彩色圖片,白底黑字上有藍(lán)色水?。?/p>

用photoshop之類軟件處理特別麻煩,上網(wǎng)找去背景網(wǎng)站消除或者相關(guān)AI工具效果也不一定好,特別是如果這種圖片有一整本數(shù)百頁的書,那就更麻煩??紤]到這種水印的顏色與文字相比差異很大,因此,可以考慮利用OpenCV將其轉(zhuǎn)換為hsv模式,這時(shí)候會發(fā)現(xiàn)水印部分的v值比文字部分的v值(可以在gimp或者photoshop中查看)大得多,用python代碼處理起來就很方便了。如下代碼可將上面的示例圖片中的藍(lán)色水印消除:

import cv2
import numpy as np
 
def remove_color_watermark(image_path, thres):
 
    """    
        :param image_path: 圖片路徑
        :param thres: V值的閾值
        :return: 除掉水印后的圖片
    """
 
    # 讀取圖片
    img = cv2.imread(image_path)
    if img is None:
        print("無法讀取圖片,請檢查圖片路徑。")
        return
 
    # 轉(zhuǎn)換到HSV顏色空間
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    # 某像素點(diǎn)的V值大于閾值則將其轉(zhuǎn)換為白色
    img[hsv[:, :, 2] > thres ] = [255, 255, 255]
    return img
 
# 請?zhí)鎿Q為你的圖片路徑
image_path = f"path\\to\\orig\\img.jpg"
result = remove_color_watermark(image_path, 230)
 
if result is not None:
    # 顯示原始圖片和處理后的圖片
    cv2.imshow('Original Image', cv2.imread(image_path))
    cv2.imshow('Processed Image', result)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
 
    # 保存處理后的圖片
    cv2.imwrite('processed_image.jpg', result)

處理效果如下:

似乎還是很不錯(cuò)的。下面的代碼可以將整個(gè)文件夾中所有相同水印的圖片處理后輸出為一個(gè)pdf文件:

import cv2
import os
 
from PIL import Image
 
def remove_color_watermark(image_path, thres):
 
    # 讀取圖片
    img = cv2.imread(image_path)
    if img is None:
        print("無法讀取圖片,請檢查圖片路徑。")
        return
 
    # 轉(zhuǎn)換到HSV顏色空間
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    # 某像素點(diǎn)的v值大于閾值則將其轉(zhuǎn)換為白色
    img[hsv[:, :, 2] > thres] = [255, 255, 255]
    return img
 
 
if __name__ == '__main__':
    image_path = 'folder\\path\\to\\orig'
    out_path = 'path\\to\\output\\folder'
    thresh = 230
    images = []
    for filename in os.listdir(image_path):
        if filename.endswith(('.jpg', '.jpeg', '.png', '.bmp', '.tiff')):
            img = remove_color_watermark(os.path.join(image_path, filename), thresh)
            img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
            # OpenCV圖片轉(zhuǎn)換為pillow圖片
            pillow_image = Image.fromarray(img)
            print(f'{filename}已經(jīng)處理完畢。')
            # 加入pillow圖片數(shù)組,為輸出PDF文件做準(zhǔn)備
            images.append(pillow_image)
    # 將處理后的圖片輸出為PDF文件
    images[0].save(os.path.join(out_path,'output.pdf'), save_all=True, append_images=images[1:])

到此這篇關(guān)于使用Python簡單實(shí)現(xiàn)去除彩色水印的文章就介紹到這了,更多相關(guān)Python去除彩色水印內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python使用sessions模擬登錄淘寶的方式

    python使用sessions模擬登錄淘寶的方式

    這篇文章主要介紹了python使用sessions模擬登錄淘寶的方式,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-08-08
  • Python CSV模塊使用實(shí)例

    Python CSV模塊使用實(shí)例

    這篇文章主要介紹了Python CSV模塊使用實(shí)例,本文將舉幾個(gè)例子來介紹一下Python的CSV模塊的使用方法,包括reader、writer、DictReader、DictWriter.register_dialect等,需要的朋友可以參考下
    2015-04-04
  • Python+OpenCV內(nèi)置方法實(shí)現(xiàn)行人檢測

    Python+OpenCV內(nèi)置方法實(shí)現(xiàn)行人檢測

    OpenCV附帶一個(gè)預(yù)訓(xùn)練的HOG+線性SVM模型,可用于在圖像和視頻流中執(zhí)行行人檢測。本文我們將使用Opencv自帶的模型實(shí)現(xiàn)對視頻流中的行人檢測。感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2021-12-12
  • 拓?fù)渑判騊ython實(shí)現(xiàn)的過程

    拓?fù)渑判騊ython實(shí)現(xiàn)的過程

    這篇文章主要介紹了拓?fù)渑判騊ython實(shí)現(xiàn)的過程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • python中的集合及集合常用的使用方法

    python中的集合及集合常用的使用方法

    這篇文章主要介紹了python中的集合及集合常用的使用方法,集合是一個(gè)無序的不重復(fù)元素序列,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • LeetCode189輪轉(zhuǎn)數(shù)組python示例

    LeetCode189輪轉(zhuǎn)數(shù)組python示例

    這篇文章主要為大家介紹了LeetCode189輪轉(zhuǎn)數(shù)組python解法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Django跨域請求CSRF的方法示例

    Django跨域請求CSRF的方法示例

    這篇文章主要介紹了Django跨域請求CSRF的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • Python數(shù)據(jù)可視化之Seaborn的使用詳解

    Python數(shù)據(jù)可視化之Seaborn的使用詳解

    Seaborn庫是python中基于matplotlib庫的可視化工具庫,通過sns我們可以更方便地繪制出更美觀的圖表。本文將分享python基于Seaborn庫的一系列繪圖操作,感興趣的可以了解一下
    2022-04-04
  • pytest利用request?fixture實(shí)現(xiàn)個(gè)性化測試需求詳解

    pytest利用request?fixture實(shí)現(xiàn)個(gè)性化測試需求詳解

    這篇文章主要為大家詳細(xì)介紹了pytest如何利用request?fixture實(shí)現(xiàn)個(gè)性化測試需求,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-09-09
  • 使用python讀寫txt和json(jsonl)大文件的方法步驟

    使用python讀寫txt和json(jsonl)大文件的方法步驟

    在Python中讀取txt和json(jsonl)大文件并保存到字典是一項(xiàng)非常常見的操作,這篇文章主要給大家介紹了關(guān)于使用python讀寫txt和json(jsonl)大文件的方法步驟,需要的朋友可以參考下
    2023-12-12

最新評論