由于使用PyTesseract的背景颜色,无法从屏幕截图中读取文本

时间:2020-01-08 06:12:27

标签: python opencv computer-vision python-tesseract

我正在尝试使用pytesseract从计算机/手机屏幕截图中提取和检测文本。 效果很好,但在某些情况下,由于绿色背景,未检测到按钮文字。

原始图片

Original Image

文本检测后的图像

Detected Text

这是我正在使用的代码:

d = pytesseract.image_to_data(img, output_type=Output.DICT)# img is an numpy nd array, i.e image read using OpenCV
n_boxes = len(d['level'])
for i in range(n_boxes):
    # eliminating blank characters
    if d['text'][i].strip() == '': continue
    else: print(d['text'][i])
    (x,y,w,h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i])
    cv2.rectangle(img, (x,y), (x+w, y+h), (0, 255, 0), 2)

plot_image(img)

1 个答案:

答案 0 :(得分:1)

尝试对图像进行二值化,使其变为黑白。二值化/图像阈值处理是此类用例的常用图像处理方法。

这些链接可能会有所帮助。

1。ImageThresholding-Opencv

2。Adaptive Thresholding

3。Text Binarization