我在网站上执行ocr,特别是在这两个图像上:
我对OCR很新,我使用以下内容:
from PIL import Image
import pytesseract
my_image = '....png'
text = pytesseract.image_to_string(Image.open(my_image))
在第二张图像中,它识别除了单个数字3,4,5,6之外的所有内容。
在第一张图片中,它也无法识别单个数字。
我通过调整图像大小,反转它们并使用阈值来预处理图像。
它是一种标准字体,所以我知道还有其他方法可以做到这一点,但是在某种程度上它对我有用,所以我想在更先进的事情之前保持简单。
答案 0 :(得分:1)
对于这两个图像,您可以
对于第一张图片,您可以选择图片的一部分:
结果将是:
62001
33000
代码:
import cv2
import pytesseract
img1 = cv2.imread("lNKH4.png") # "FX2in.png"
gry1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
(h, w) = gry1.shape[:2]
gry1 = cv2.resize(gry1, (w*2, h*2))
gry1 = gry1[30:(h*2), w+50:w*2]
thr1 = cv2.threshold(gry1, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
txt1 = pytesseract.image_to_string(thr1, config="--psm 6 digits")
print(txt1)
cv2.imshow("thr1", thr1)
cv2.waitKey(0)
对于第二张图片:
结果将是:
2
3 1.28 4.50 9.00
4 2.00 3.75 3.00
5 3.50 4.33 1.72
6 7.00 6.00 1.28
相同的代码,只需删除以下行:
gry1 = gry1[30:(h*2), w+50:w*2]