如何使用PyteSeract改进结果

x6h2sr28  于 2021-09-08  发布在  Java
关注(0)|答案(0)|浏览(199)

原始图像
与大津
我尝试检测文本,但所有配置操作都显示错误的输出或不清晰,如:

['', '', '', '', ' ', '', '', '', '—<', '1Pa9iD', '&', '-141.596', '', '|', 'a']

此外,关闭的内核也没有真正好的结果。我已经试过了 erode 但在大多数情况下,数字“1”被检测为“4”

kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(2,2))
ocr_image = cv2.morphologyEx(ocr_image, cv2.MORPH_CLOSE, kernel)

只有带小数点的数字的tesseract白名单显示以下结果:

['', '', '', '', ' ', '', '', '', '1910141.596']

如何改进检测?以下是一些其他示例:
<https://i.stack.imgur.com/3llsy.png!
<https://i.stack.imgur.com/3llsy.png!
[5]: https://i.stack.imgur.com/sl34c.png!
[6]: https://i.stack.imgur.com/rcd4d.png!
[7]: https://i.stack.imgur.com/x9ptn.png!
[8]: https://i.stack.imgur.com/5iwxg.png!
我知道这个决议很可怕。我试着自信地过滤并绘制边界框,但是如果有错误的数字,即使所有的过滤器都是不够的。

text = pytesseract.image_to_data(ocr_image, output_type=Output.DICT

在最好的情况下,它是用数字、小数点、有时在坐标处减去“-”进行清晰检测。我认为识别“z”不会很好。有没有关于如何通过示例提高识别率的想法?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题