【问题标题】:How to read punctuation characters like '/', '_' and '\' from an image如何从图像中读取“/”、“_”和“\”等标点符号
【发布时间】:2020-01-07 20:44:48
【问题描述】:
我希望我的程序从图像中读取/、_ 和\,但有时它会将/ 读取为I,将/_\ 读取为A。我正在使用 pytesseract 库来执行此操作。
有没有办法专门读取/_ 和\ 等字符?
【问题讨论】:
标签:
python
image
opencv
image-processing
python-tesseract
【解决方案1】:
您可以使用pytesseract.image_to_string 从图像中读取文本。根据您的图像,您可能希望在将其放入 Pytesseract 之前执行预处理。这可以是使用morphological operations 的阈值、模糊或平滑技术的组合。使用此示例图像,
这是打印到控制台的结果
我们使用--psm 6 配置标志,因为我们希望将图像视为单个统一的文本块。这里还有一些可能有用的configuration flags
import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
image = cv2.imread('1.png',0)
data = pytesseract.image_to_string(image, lang='eng',config='--psm 6')
print('Result:', data)