这是我的问题。我有一些简单的图像,其中绿色圆圈内有一些大的黑色数字。问题在于它们可以随机旋转。到目前为止,我设法做到的是识别绿色圆圈,然后从图像中将其剪下,这样我最后只得到了数字。 为了使它们更整齐,我认为可以通过以下方式构造一个旋转的边界矩形:
cv::findContours
找到数字的所有轮廓cv::minAreaRect
包含数字一切正常,除了数字4
的情况之外,数字{{1}}的旋转矩形与数字不对齐而是稍微倾斜,如下图所示:
我也尝试使用合适的椭圆,但是那也是倾斜的。我能想到的唯一解决方案是使用模板匹配,同时提供自身旋转的模板。
答案 0 :(得分:0)
如果数字的字体是一致的,并且您可以隔离圆,并且它们是(或可以做成)统一的大小,那么您也许可以完全绕开Tesseract,而以构建为代价旋转所有数字的模板。
假设应用模板会在+/- 2°范围内给出一个不错的信号,那就是(360/5)* 10 = 720个模板,覆盖0-9。将应用这些模板的成本与Tesseract调用的成本进行基准比较很有趣。