opencv 使用pytesseract使用像素化图像检测数字时出现问题

lrl1mhuk  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(159)

我正在尝试检测/读取下图中的数字。我在图像上应用了一个遮罩(也如下图所示),然后返回一组像素化的数字。我检索这些数字的唯一方法是从图像中读取它们。有什么想法吗?我尝试过pytesseract,但它似乎不适用于我使用的小/像素化的图像。
我使用的是Python 3.9和CV2(在我简单使用它的时候还有pytesseract),下面是我用来应用掩码的代码。
upper_limit = np.array([0,255,255]) #Tried using a different lower limit, but all produced a black screen result besides this lower_limit = np.array([0,0,0]) mask = cv.inRange(image, lower_limit, upper_limit)
我也试着在图像上应用模糊和canny,但结果更糟。
original imageAfter Applying the mask

gcuhipw9

gcuhipw91#

这对我在Python/OpenCV中工作很好。
输入:

import cv2
import numpy as np

img = cv2.imread('text_921.png')

lower = (254,254,254)
upper = (255,255,255)
thresh = cv2.inRange(img, lower, upper)

cv2.imwrite('text_921_thesh.png', thresh)

cv2.imshow('thresh', thresh)
cv2.waitKey(0)

结果:

相关问题