您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關使用python怎么對驗證碼進行降噪,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
圖像灰度化處理
import cv2 import numpy as np img = cv2.imread('./picture/1.jpg') #將圖片灰度化處理,降維,加權進行灰度化c gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) cv2.imshow('min_gray',gray) cv2.waitKey(0) cv2.destroyAllWindows()
效果:
圖像二值化處理
t,gray2 = cv2.threshold(gray,220,255,cv2.THRESH_BINARY) cv2.imshow('threshold',gray2) cv2.waitKey(0) cv2.destroyAllWindows()
效果:
8領域過濾
def remove_noise(img,k=4): img2 = img.copy() # img處理數據,k過濾條件 w,h = img2.shape def get_neighbors(img3,r,c): count = 0 for i in [r-1,r,r+1]: for j in [c-1,c,c+1]: if img3[i,j] > 10:#純白色 count+=1 return count # 兩層for循環判斷所有的點 for x in range(w): for y in range(h): if x == 0 or y == 0 or x == w -1 or y == h -1: img2[x,y] = 255 else: n = get_neighbors(img2,x,y)#獲取鄰居數量,純白色的鄰居 if n > k: img2[x,y] = 255 return img2 result = remove_noise(gray2) cv2.imshow('8neighbors',result) cv2.waitKey(0) cv2.destroyAllWindows()
過濾后的效果:
代碼整合:
import cv2 import numpy as np img = cv2.imread('./picture/1.jpg') #將圖片灰度化處理,降維,加權進行灰度化c gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) t,gray2 = cv2.threshold(gray,200,255,cv2.THRESH_BINARY) cv2.imshow('threshold',gray2) result = remove_noise(gray2) cv2.imshow('8neighbors',result) cv2.waitKey(0) cv2.destroyAllWindows()
看完上述內容,你們對使用python怎么對驗證碼進行降噪有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。