python+opencv 驗證碼識別


參考博客:https://blog.csdn.net/wang_hugh/article/details/80760940

環境配置:

pip install Image

 

解決錯誤:

pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path

辦法:

pytesseract.py下:tesseract_cmd = ‘D:/Program Files/Tesseract-OCR/tesseract.exe’

安裝tesseract.exe,記得路徑一定要保持不變,要不需要更改tess_prefix的

 

代碼如下:

import cv2 as cv
from PIL import Image
import pytesseract #要配置tesseract-ocr 引擎的

def recognize_text():
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY_INV | cv.THRESH_OTSU)
kernel = cv.getStructuringElement(cv.MORPH_RECT, (1, 6))#去除線
binl = cv.morphologyEx(binary, cv.MORPH_OPEN, kernel)
kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 1))
open_out = cv.morphologyEx(binl, cv.MORPH_OPEN, kernel)
cv.bitwise_not(open_out, open_out)# 黑色背景變為白色背景
cv.imshow('open_out', open_out)

textImage = Image.fromarray(open_out)#從np.array 轉換成<class 'PIL.Image.Image'>,pytesseract需要接受此類型
text = pytesseract.image_to_string(textImage)
print("This OK:%s"%text)

if __name__ == '__main__':
src = cv.imread("yzm.jpg")
cv.imshow("src", src)
recognize_text()
cv.waitKey(0)
cv.destroyAllWindows()

 輸入:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM