【发布时间】:2017-07-14 08:49:39
【问题描述】:
我正在使用 Tesseract 从手机摄像头拍摄的屏幕图像中识别数字。我已经对图像进行了一些预处理:processed image,并且使用 Tesseract,我能够得到一些混合的结果。在上面的图像上使用以下代码,我得到以下输出:“EOE”。但是,使用这张图片processed image,我得到了完全匹配:“39:45.8”
import cv2
import pytesseract
from PIL import Image, ImageEnhance
from matplotlib import pyplot as plt
orig_name = "time3.jpg";
image_name = "time3_.jpg";
img = cv2.imread(orig_name, 0)
img = cv2.medianBlur(img, 5)
img_th = cv2.adaptiveThreshold(img, 255,\
cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY, 11, 2)
cv2.imshow('image', img_th)
cv2.waitKey(0)
cv2.imwrite(image_name, img_th)
im = Image.open(image_name)
time = pytesseract.image_to_string(im, config = "-psm 7")
print(time)
我可以做些什么来获得更一致的结果?
【问题讨论】:
-
您可以运行连接组件分析,然后为每个组件运行检测。
标签: opencv image-processing ocr tesseract