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定義鼠標(biāo)點擊事件獲取圖片各個位置的HSV值(附代碼)
效果如下,鼠標(biāo)左鍵點擊圖片中任意位置顯示該點的HSV值。
源代碼:
import cv2 # 讀取圖片 image = cv2.imread(r"./images/screenshot/target_open.jpg") # 轉(zhuǎn)為HSV圖 HSV = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # 定義一個鼠標(biāo)左鍵按下去的事件 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 import用法以及與from...import的區(qū)別
這篇文章主要介紹了Python import用法以及與from...import的區(qū)別,本文簡潔明了,很容易看懂,需要的朋友可以參考下2015-05-05python實現(xiàn)通過flask和前端進(jìn)行數(shù)據(jù)收發(fā)
今天小編就為大家分享一篇python實現(xiàn)通過flask和前端進(jìn)行數(shù)據(jù)收發(fā),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08