带有OpenCV和PIL的Python Tesseract未检测字符

2024-04-28 20:59:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过图像识别传奇联盟游说团的文本,这样我就可以进行数据挖掘

我猜它无法识别字体,因为程序的输出是: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


Tags: totestimageimportcv2图像识别传奇cap
1条回答
网友
1楼 · 发布于 2024-04-28 20:59:06

看起来你需要一些预处理来获得图像

试试这个

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)

相关问题 更多 >