【问题标题】:Python Tesseract with OpenCV and PIL not detecting characters带有 OpenCV 和 PIL 的 Python Tesseract 未检测到字符
【发布时间】:2020-11-18 08:12:05
【问题描述】:

我正在尝试对来自英雄联盟大厅的文字进行图像识别,以便进行数据挖掘。

我猜它没有识别字体,因为程序的输出是:Doel seen aay

源代码:

import numpy as nm  
import pytesseract 
import cv2 
from PIL import ImageGrab, Image 
  
  
def imToString(): 
  
    # Path of tesseract executable 
    pytesseract.pytesseract.tesseract_cmd ='C:\\Program Files\\Tesseract-OCR\\Tesseract.exe'
    while(True):  
        cap = ImageGrab.grab(bbox =(242, 884, 561, 990)) 
        cap.save('test.png')
        tesstr = pytesseract.image_to_string( 
                cv2.cvtColor(nm.array(cap), cv2.COLOR_BGR2GRAY),  
                lang ='eng',config='--psm 7')
        print(tesstr)
imToString() 

The image I'm using to test

【问题讨论】:

  • 我应该注意到 newocr.com 能够检测到它,但其他 ocr 网站无法检测到“g”字符。很有趣,因为我的程序根本无法检测到任何东西。

标签: python python-3.x opencv python-imaging-library python-tesseract


【解决方案1】:

看来您需要对图像进行一些预处理。

试试这个。

import numpy as np
import cv2    
img = cv2.imread('wXQMF.png', 0)
print(img.max(), img.min())
ret, thr1 = cv2.threshold(img, 10, 255, cv2.THRESH_BINARY_INV)

kernel_size_row = 3
kernel_size_col = 3
kernel = np.ones((3, 3), np.uint8)

erosion_image = cv2.erode(thr1, kernel, iterations=1)  #// make erosion image

cv2.imwrite('a.png',thr1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 2015-09-16
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    相关资源
    最近更新 更多