Dua*_*ade 6 python ocr opencv tesseract
我在我的应用程序中使用 pyocr ( https://github.com/openpaperwork/pyocr ),除了以下情况外,它一切正常:
从这张图片来看:
Tesseract 将提取:
42Z8
它检测到其中一个 Z,但检测不到另一个“Z”,这一点很重要,因为该数字通过了验证,如果发生此问题,验证就会失败。
我尝试过的事情:
thresh = cv.threshold(块文本, 127, 255, cv.THRESH_BINARY)
我怎样才能解决这个问题 ?也许解决方案是一些更复杂的图像处理,但我现在有点迷失。
谢谢。
更新图片:
I used pytesseract, tesseract 4.0 and tessdata_best
.
import pytesseract
import cv2
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe'
img = cv2.imread('4zz8.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
adaptiveThresh = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 15, 12)
config = '-l eng --oem 1 --psm 3'
text = pytesseract.image_to_string(adaptiveThresh, config=config)
print("Result: " + text)
cv2.imshow('original', img)
cv2.imshow('adaptiveThresh', adaptiveThresh)
cv2.waitKey(0)
Run Code Online (Sandbox Code Playgroud)
Output is:
Result: 4 ZZ8
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1331 次 |
最近记录: |