Python實現(xiàn)處理圖片水印的方法詳解
原圖:

去水印后:

程序非常簡單,首先讀取圖片后,轉(zhuǎn)為HSV通道圖像。
image = cv2.imread("watermark.png")
HSV = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
參考文末補充內(nèi)容獲取水印處的HSV值的范圍
我這張圖片的水印HSV值大概范圍是

背景HSV值為

黑色正文部分HSV值為

于是:
mask = cv2.inRange(HSV, (0, 0, 195), (0, 0, 255))
cv2.imshow("mask", mask)
結(jié)束!!
處理后文字有點鋸齒狀,試了圖像增強矯正和圖像平滑處理效果都不明顯(原圖有些模糊也是原因之一)
如果有好的方法,麻煩教一教我!謝謝!
完整代碼
import cv2
image = cv2.imread(r"watermark.png")
HSV = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
# cv2.imshow("HSV", HSV)
mask = cv2.inRange(HSV, (0, 0, 195), (0, 0, 255))
cv2.imshow("mask", mask)
cv2.imwrite('watermark-result.png', mask)
cv2.waitKey(0)補充
用python和opencv定義鼠標點擊事件獲取圖片各個位置的HSV值(附代碼)
效果如下,鼠標左鍵點擊圖片中任意位置顯示該點的HSV值。

源代碼:
import cv2
# 讀取圖片
image = cv2.imread(r"./images/screenshot/target_open.jpg")
# 轉(zhuǎn)為HSV圖
HSV = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
# 定義一個鼠標左鍵按下去的事件
def getpos(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
print(HSV[y, x])
# cv2.imshow('image', image)
cv2.imshow("imageHSV", HSV)
cv2.setMouseCallback("imageHSV", getpos)
cv2.waitKey(0)到此這篇關(guān)于Python實現(xiàn)處理圖片水印的方法詳解的文章就介紹到這了,更多相關(guān)Python處理圖片水印內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 實現(xiàn)自動遠程登陸scp文件實例代碼
這篇文章主要介紹了python 實現(xiàn)自動遠程登陸scp文件實例代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03
python中實現(xiàn)將多個print輸出合成一個數(shù)組
下面小編就為大家分享一篇python中實現(xiàn)將多個print輸出合成一個數(shù)組,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04

