【发布时间】:2022-01-23 20:30:22
【问题描述】:
我想从图像中提取特定文本,并且我已经在图像中进行了一些过滤,但仍然没有得到确切的文本。还有什么方法可以从图像中单独获取特定文本?
过滤图像并转换为文本的代码
import cv2
import pytesseract
image = cv2.imread('original.png', 0)
thresh = cv2.threshold(image, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
img = cv2.adaptiveThreshold(thresh, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)
cv2.imwrite('filtered.png', img)
data = pytesseract.image_to_data(img)
print(data)
cv2.imshow('thresh', img)
cv2.waitKey()
【问题讨论】:
-
跳过“img = cv2.adaptiveThreshold(thresh, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)”。接下来,OCR 仅对图像的一部分进行文本处理 - IMO 这应该很容易,因为在游戏中文本应该始终位于相同的位置。