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

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

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

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

用photoshop之類軟件處理特別麻煩,上網(wǎng)找去背景網(wǎng)站消除或者相關(guān)AI工具效果也不一定好,特別是如果這種圖片有一整本數(shù)百頁(yè)的書,那就更麻煩??紤]到這種水印的顏色與文字相比差異很大,因此,可以考慮利用OpenCV將其轉(zhuǎn)換為hsv模式,這時(shí)候會(huì)發(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("無法讀取圖片,請(qǐng)檢查圖片路徑。")
        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
 
# 請(qǐng)?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("無法讀取圖片,請(qǐng)檢查圖片路徑。")
        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簡(jiǎn)單實(shí)現(xiàn)去除彩色水印的文章就介紹到這了,更多相關(guān)Python去除彩色水印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用python怎樣產(chǎn)生10個(gè)不同的隨機(jī)數(shù)

    使用python怎樣產(chǎn)生10個(gè)不同的隨機(jī)數(shù)

    這篇文章主要介紹了使用python實(shí)現(xiàn)產(chǎn)生10個(gè)不同的隨機(jī)數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Pytest?Fixture參數(shù)講解及使用

    Pytest?Fixture參數(shù)講解及使用

    這篇文章主要介紹了Pytest之Fixture參數(shù)詳解及使用,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • Python迭代器協(xié)議及for循環(huán)工作機(jī)制詳解

    Python迭代器協(xié)議及for循環(huán)工作機(jī)制詳解

    這篇文章主要介紹了Python迭代器協(xié)議及for循環(huán)工作機(jī)制詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • pytorch torch.expand和torch.repeat的區(qū)別詳解

    pytorch torch.expand和torch.repeat的區(qū)別詳解

    這篇文章主要介紹了pytorch torch.expand和torch.repeat的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python3對(duì)稱加密算法AES、DES3實(shí)例詳解

    Python3對(duì)稱加密算法AES、DES3實(shí)例詳解

    這篇文章主要介紹了Python3對(duì)稱加密算法AES、DES3,結(jié)合實(shí)例形式詳細(xì)分析了對(duì)稱加密算法AES、DES3相關(guān)模塊安裝、使用技巧與操作注意事項(xiàng),需要的朋友可以參考下
    2018-12-12
  • Python中合并列表的5種方法代碼示例

    Python中合并列表的5種方法代碼示例

    在python列表操作中除了排序、刪除、添加、去重外,合并也是經(jīng)常需求的操作,下面這篇文章主要給大家介紹了關(guān)于Python中合并列表的5種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • python中的hashlib和base64加密模塊使用實(shí)例

    python中的hashlib和base64加密模塊使用實(shí)例

    這篇文章主要介紹了python中的hashlib和base64加密模塊使用實(shí)例,hashlib模塊支持的加密算法有md5 sha1 sha224 sha256 sha384 sha512,需要的朋友可以參考下
    2014-09-09
  • python使用tcp傳輸圖片數(shù)據(jù)

    python使用tcp傳輸圖片數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了python使用tcp傳輸圖片數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Python中np.percentile和df.quantile分位數(shù)詳解

    Python中np.percentile和df.quantile分位數(shù)詳解

    分位數(shù)(Quantile)亦稱分位點(diǎn)是指將一個(gè)隨機(jī)變量的概率分布范圍分為幾個(gè)等份的數(shù)值點(diǎn),下面這篇文章主要給大家介紹了關(guān)于Python中np.percentile和df.quantile分位數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • python使用epoll實(shí)現(xiàn)服務(wù)端的方法

    python使用epoll實(shí)現(xiàn)服務(wù)端的方法

    今天小編就為大家分享一篇python使用epoll實(shí)現(xiàn)服務(wù)端的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10

最新評(píng)論

永修县| 太康县| 禄劝| 天长市| 诸城市| 崇仁县| 五莲县| 樟树市| 林甸县| 蛟河市| 洪雅县| 白玉县| 东明县| 井陉县| 广宁县| 日照市| 宜宾县| 时尚| 防城港市| 诸城市| 安宁市| 庐江县| 阳新县| 会泽县| 明光市| 莱西市| 林芝县| 正定县| 义乌市| 榕江县| 太仆寺旗| 建宁县| 太白县| 斗六市| 青阳县| 湟源县| 花莲市| 河间市| 包头市| 阿尔山市| 涞源县|