Opencv Pyteseract不';无法检测图像中的数字
我有两张图片,用opencv阅读,并试图用pytesseract识别里面的数字。其中一个图像检测到正确的数字。另一个根本检测不到数字。这两张图片都是从同一部手机截取的截图,取自同一个应用程序。因此,字体和同音同音词是相同的。下面是我用于此目的的代码Opencv Pyteseract不';无法检测图像中的数字,opencv,ocr,python-tesseract,Opencv,Ocr,Python Tesseract,我有两张图片,用opencv阅读,并试图用pytesseract识别里面的数字。其中一个图像检测到正确的数字。另一个根本检测不到数字。这两张图片都是从同一部手机截取的截图,取自同一个应用程序。因此,字体和同音同音词是相同的。下面是我用于此目的的代码 import cv2 import pytesseract import os pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.e
import cv2
import pytesseract
import os
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
xconfig='--psm 6 --oem 3 -c tessedit_char_whitelist=0123456789'
plist = [x for x in os.listdir() if x.endswith(".png")]
for pt in plist:
img = cv2.imread(pt)
pytesseract.image_to_string(img,config=xconfig)
这是第一张图像,数字在这里被正确检测到
在下面的一个中没有检测到这些数字。
在上面的一个示例中,如果我们在没有任何自定义配置的情况下使用,则会检测到以下字符:
'lO R Ly Reb yL\n\x0c'
您应该获取图像的阈值:
thr=cv2.threshold(src=gry,thresh=0,maxval=255,type=cv2.thresh\u OTSU+cv2.thresh\u BINARY\u INV)[1]
现在读
txt=pytesseract.image\u to\u字符串(thr)
打印(txt)
结果:
66215715578
代码:
导入cv2
导入pytesseract
img=cv2.imread(“v0cUq.png”)
gry=cv2.CVT颜色(img,cv2.COLOR\u BGR2GRAY)
thr=cv2.阈值(src=gry,thresh=0,maxval=255,type=cv2.thresh\u OTSU+cv2.thresh\u BINARY\u INV)[1]
txt=pytesseract.image\u to\u字符串(thr)
打印(txt)
您应该获取图像的阈值:
thr=cv2.threshold(src=gry,thresh=0,maxval=255,type=cv2.thresh\u OTSU+cv2.thresh\u BINARY\u INV)[1]
现在读
txt=pytesseract.image\u to\u字符串(thr)
打印(txt)
结果:
66215715578
代码:
导入cv2
导入pytesseract
img=cv2.imread(“v0cUq.png”)
gry=cv2.CVT颜色(img,cv2.COLOR\u BGR2GRAY)
thr=cv2.阈值(src=gry,thresh=0,maxval=255,type=cv2.thresh\u OTSU+cv2.thresh\u BINARY\u INV)[1]
txt=pytesseract.image\u to\u字符串(thr)
打印(txt)