欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python對驗證碼降噪的實現(xiàn)示例代碼

 更新時間:2019年11月12日 16:19:24   作者:lemon *  
這篇文章主要介紹了python對驗證碼降噪的實現(xiàn)示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言:

最近寫爬蟲會經(jīng)常遇到一些驗證碼識別的問題,現(xiàn)如今的驗證碼已經(jīng)是五花八門,剛開始的驗證碼就是簡單的對生成的驗證碼圖片進(jìn)行一些干擾,但是隨著計算機(jī)視覺庫的 發(fā)展壯大,可以輕松解決簡單的驗證碼識別問題,于是一些變態(tài) 的驗證碼就出來了,什么滑動驗證碼,當(dāng)然這個也是比較好解決的,用python的selenium庫就可以破解一些滑動驗證碼??墒沁€出現(xiàn)了一些語音類,點擊類的驗證碼。爬蟲與反爬的較量確實越來越精彩了,也挺有趣的!最終促進(jìn)的是整個行業(yè)技術(shù)的發(fā)展與進(jìn)步。

在這里插入圖片描述

今天分享一個可以解決簡單驗證碼識別的代碼。

圖片:

在這里插入圖片描述

圖像灰度化處理

import cv2 
import numpy as np
img = cv2.imread('./picture/1.jpg')

#將圖片灰度化處理,降維,加權(quán)進(jìn)行灰度化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領(lǐng)域過濾

def remove_noise(img,k=4):
  
  img2 = img.copy()
  
#   img處理數(shù)據(jù),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循環(huán)判斷所有的點
  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)#獲取鄰居數(shù)量,純白色的鄰居
        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')

#將圖片灰度化處理,降維,加權(quán)進(jìn)行灰度化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()

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • pycharm快捷鍵自動提示documentation問題(auto?Ctrl+Q)

    pycharm快捷鍵自動提示documentation問題(auto?Ctrl+Q)

    這篇文章主要介紹了pycharm快捷鍵自動提示documentation問題(auto?Ctrl+Q),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 使用python實現(xiàn)ftp的文件讀寫方法

    使用python實現(xiàn)ftp的文件讀寫方法

    今天小編就為大家分享一篇使用python實現(xiàn)ftp的文件讀寫方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • TensorFlow打印輸出tensor的值

    TensorFlow打印輸出tensor的值

    這篇文章主要介紹了TensorFlow打印輸出tensor的值,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python機(jī)器學(xué)習(xí)應(yīng)用之樸素貝葉斯篇

    Python機(jī)器學(xué)習(xí)應(yīng)用之樸素貝葉斯篇

    樸素貝葉斯模型是一組非常簡單快速的分類算法,通常適用于維度非常高的數(shù)據(jù)集。因為運(yùn)行速度快,而且可調(diào)參數(shù)少,因此非常適合為分類問題提供快速粗糙的基本方案
    2022-01-01
  • 解析Python中的異常處理

    解析Python中的異常處理

    這篇文章主要介紹了解析Python中的異常處理,異常處理是學(xué)習(xí)每門編程語言都必須掌握的重要知識,本文代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • Python全棧之基本數(shù)據(jù)類型

    Python全棧之基本數(shù)據(jù)類型

    這篇文章主要為大家介紹了Python基本數(shù)據(jù)類型,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Python利用邏輯回歸模型解決MNIST手寫數(shù)字識別問題詳解

    Python利用邏輯回歸模型解決MNIST手寫數(shù)字識別問題詳解

    這篇文章主要介紹了Python利用邏輯回歸模型解決MNIST手寫數(shù)字識別問題,結(jié)合實例形式詳細(xì)分析了Python MNIST手寫識別問題原理及邏輯回歸模型解決MNIST手寫識別問題相關(guān)操作技巧,需要的朋友可以參考下
    2020-01-01
  • 詳解Python中的測試工具

    詳解Python中的測試工具

    本文介紹了兩個Python中的測試工具: doctest和unittest,并配以簡單的例子來說明這兩個測試模塊的使用方法,需要的朋友可以參考下
    2019-06-06
  • python替換文件中的某幾行操作技巧

    python替換文件中的某幾行操作技巧

    這篇文章主要介紹了python替換文件中的某幾行,本文介紹使用python正則庫打開文件并替換文件中某幾行數(shù)據(jù)的可行方法,需要的朋友可以參考下
    2023-09-09
  • 詳解Python中的條件判斷語句

    詳解Python中的條件判斷語句

    這篇文章主要介紹了Python中的條件判斷語句,是Python入門中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05

最新評論