我正在尝试从一个数据表中读取一些条目,该数据表先填充名称,然后填充数字列。这是原始图片:
在二值化,转换为黑白之间以及仅反转之间,我发现反转图像可产生最佳效果。
image = PIL.ImageOps.invert(image
当我向下滚动到更多图像时,这使我可以处理大约90%以上的列,但是我仍然无法处理其中的一堆。有时,列中的括号会合并我在每列中拥有的两个数字。我有什么办法可以解决括号与数字混合的问题,或者删除所有绿色文本?
答案 0 :(得分:0)
调整图像大小似乎是解决问题的选项。
image = pyautogui.screenshot(region=(550, 354, 964, 552))
width, height = image.size
image = image.resize((args.resize*width, args.resize*height))
我将尺寸调整为至少3倍于原始尺寸。我猜想这增加了字符之间的距离,使识别一个数字的结尾和后面的括号变得更加简单。
或者,以下是更大的改进:
image = cv2.imread(output)
image = cv2.bitwise_not(image)
image = cv2.resize(image, None, fx=1.5, fy=1.7,
interpolation=cv2.INTER_CUBIC) # scale
cv2.imwrite(output, image
缩放比例不是线性的,如果稍微倾斜它,效果会更好。