我目前正致力于从形式的手写字符识别。到目前为止,一切都运作良好,但我希望我能从一个盒装或者#34;梳理的图像中提取角色。字段
例如,在特定字段被裁剪并进行了binazarized之后(使用otu&#39的方法),我留下了类似的内容:
对于字符识别,我使用emnist数据集训练有素的CNN模型。为了预测字符,我必须逐个提取字符。从盒子中提取字符的最佳方法是什么?
目前,我正在使用一种非常简单的方法来查找水平和垂直像素的非白色线条的分组,这些像素占据了与图像宽度和高度相关的一定数量的像素。例如,我会找到由至少90%非白色像素组成的水平线,并将具有并发y坐标的水平线组合成一个矩形对象,该对象将是图像上的水平线(应该是两条线的长度) /矩形,用于顶部和底部)。对于垂直线我做了类似的事情,除了我最终会得到{2 * charLength}行。我使用这些值来裁剪每个角色。但是,它并不完美。
以下是一些问题:
有更好的方法吗?有一件事是我必须牢记性能。我正在考虑再次为场图像进行SURF匹配,但是为整个表单页面执行它需要很长时间,因此我不确定是否要为我正在阅读的每个字段再次执行此操作。
我希望有人会有建议。我正在使用OpenCV进行图像处理,但是单词解决方案很好。谢谢
答案 0 :(得分:0)
我知道这是一个迟到的回应,但我最终使用了OpenCV提取角色部分的轮廓特征。
当OpenCV找到图像的轮廓时,它会建立轮廓的层次结构系统。第一级最终成为非常外盒,所以我能够抓住下一级别的轮廓来提取角色。
它在开始时没有100%工作,但经过一些额外的图像处理后,我能够在至少99%的情况下正确提取字符。