摘要:識別網站驗證碼詳見維基百科或者百度百科識別的驗證碼原理采集一批驗證碼,根據圖片特點進行初步處理二值化灰度化濾波降噪等處理然后分割圖片,旋轉圖片,模板選取,訓練算法,讓它更準確。
最近在爬某網站,老是蹦出來驗證碼,就想著找個OCR破了這個驗證碼,然后就開始了OCR探索之旅。
首先簡單說一下什么是OCROCR是(Optical Character Recognition,光學字符識別)的簡稱,主要用途:
辦公用途,用來識別圖片里面的文字,可以高效率的錄入圖片類型文件。
識別網站驗證碼
詳見維基百科或者百度百科
OCR識別的驗證碼原理采集一批驗證碼,根據圖片特點進行初步處理(二值化/灰度化/濾波/降噪等處理)
然后分割圖片,旋轉圖片,模板選取,訓練算法,讓它更準確。
有興趣的可以看一個Python實現的OCR識別驗證碼詳細demo,實際操作過程挺有意思的,大家有興趣了可以試試
OCR識別驗證碼的具體操作首先我測試了一個百度開源的Node.js實現的OCR包
gitHub地址 https://github.com/netpi/baidu-ocr-api
安裝也很簡單直接按照官方的文檔安裝即可
發現百度的這個OCR包識別效果不太理想
![node_ocr.png][1]
然后經過一番Google和小伙伴們的推薦 選擇一個Google開源的tesseract這個是C++寫的,直接融合到爬蟲里不太方便,__有外國朋友基于tesseract封裝了一個Python的包pytesseract__,直接開箱即用,融入爬蟲程序中。
百聞不如一run
**ps(這里使用的操作系統是Ubuntu16.04;Python版本是2.7)** 直接 `pip install pytesseract` 然后Python圖片處理要用到PIL(Python Imaging Library) `pip install PIL` 原圖片
寫個簡單的測試demo ![code.png][3] 看下識別結果 ![error.png][4] 報錯了, 根據報錯信息來看,是確實了什么文件,或者依賴lib 我跟蹤了pytesseract的代碼,發現是少了C++提供的OCR服務,因為pytesseract是調用的tesseract(C++寫的) 然后安裝tesseract ```sudo apt install tesseract``` 再run一下代碼
整體結果還可以(倒數第四位識別錯了),再訓練一下準確率就更高了。
預知后事如何,且聽下回分解
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/38247.html
小編寫這篇文章的主要目的,主要是給大家去做一個相關的介紹,介紹的內容是關于Python通用驗證碼的一些相關小技巧,包括有通用驗證碼識別相關的OCR庫,同時也會給大家介紹一些內容,介紹包括OCR庫ddddocr安裝使用教程,下面小編就給大家詳細解答下。 前言 在使用自動化登錄網站的時候,經常輸入用戶名和密碼后會遇到驗證碼。今天介紹一款通用驗證碼識別OCR庫,對驗證碼識別徹底說拜拜,它的名字是...
摘要:內置了對平臺的類庫在里頭,可以自己加載,無需額外在操作系統安裝,可便攜性強一點。調用不是線程安全的,因此多線程的話,每個線程自己一個實例測試 asprise-java-ocr-api 內置了對windows、mac、linux平臺的類庫在jar里頭,可以自己加載,無需額外在操作系統安裝,可便攜性強一點。 maven com.asprise.o...
摘要:無論是是自動化登錄還是爬蟲,總繞不開驗證碼,這次就來談談中光學識別驗證碼模塊和。和是的一個識別庫,但其實是對做的一層封裝,是的引擎包裝器所以它們的核心是因此在安裝之前,我們需要先安裝。 無論是是自動化登錄還是爬蟲,總繞不開驗證碼,這次就來談談python中光學識別驗證碼模塊tesserocr和pytesseract。tesserocr和pytesseract是Python的一個OCR識...
閱讀 1790·2021-11-25 09:43
閱讀 15442·2021-09-22 15:11
閱讀 2637·2019-08-30 13:19
閱讀 2020·2019-08-30 12:54
閱讀 1824·2019-08-29 13:06
閱讀 934·2019-08-26 14:07
閱讀 1622·2019-08-26 10:47
閱讀 3044·2019-08-26 10:41