【发布时间】:2021-01-12 12:50:53
【问题描述】:
在使用 opencv 预处理数独板的图像(来自网络)后,我设法得到以下图片:
遍历轮廓并使用 pytesseract 和 psm 10(单个字符)提取每个值会导致垃圾值。
因此我想将图像分割成行并尝试使用 config psm 6 提取值,希望它可以工作。
我采用的方法是简单地对行进行 numpy 切片并尝试提取值,尽管它不起作用,在第一次迭代后给我SystemError: tile cannot extend outside image 尽管我确定切片发生在图像内部
y = 1
for x in range(1, 9):
cropped_row = mask[y*33-33:y*33-1][x*33-33:x*33-1]
text = tess.image_to_string(np.array(cropped_row), config='--psm 6')
y += 1
print(text)
我想要一些关于从图像中 OCRing 行的正确方法的指导
【问题讨论】:
-
我很惊讶你没有用
psm=10做得更好。您是否包含边框并合理设置 dpi? -
如果掩码是 numpy 应该是 mask[y*33-33:y*33-1, x*33-33:x*33-1],你也可以遍历 x 和 y同时对于 x,y in zip(range(1,9),range(1,9))
标签: python python-imaging-library python-tesseract opencv-python