我有一个对象,上面有两个代码。上面印着文字。文字是曲线。一半的文本在对象的顶部,另一半在对象的底部。这是我的图像样本
![image](https://i.stack.imgur.com/zE5PS.jpg)
我正在使用OPENCV、深度学习方法和testract-to-OCR-it的代码。
我首先使用HoughCircles()
和{}对齐文本,然后使用testract这样的例子sample code。但是由于对齐文本的失真,tesseract无法对文本进行OCR。在
在深入研究中,我无法在tensorflow或torch中找到最佳的曲线文本OCR解决方案。文本检测的来源很多,而不是识别。在
约翰,问候你
Tags:
为什么不将循环文本转换为线性文本?类似于这个De-skew characters in binary image,只是稍微复杂一点。所以检测(或手动选择)圆心并将图像转换为未旋转的图像。。。在
所以创建一个新的图像,它的尺寸是
<>我不在<强> Python <强> >强> opencv 中,但这里有一个简单的<强> C++ +<强>例:6.28*max_radius , 2*max_radius
,并使用极轴展开复制像素。。。只需将目标像素位置转换为极坐标,并将其转换为笛卡尔源像素位置。在我使用自己的图片类处理图像,因此有些成员是:
xs,ys
是图像的像素大小p[y][x].dd
是位于(x,y)
位置的像素,为32位整数类型clear(color)
使用color
清除整个图像resize(xs,ys)
将图像大小调整为新的分辨率最后得到的图像:
我复制了两个未旋转的图像(因此是2*max_radius height),这样我可以在两种模式下复制图像,使文本的两个方向都可读(因为它们相互镜像)
如果你选择了中心,文本会更直
(x0,y0)
更准确地说,我只是用鼠标点击圆圈的中心,但我怀疑文本的中心是否与圆/圆盘的中心相同。点击一下这是我能找到的最好的中心:结果表明,两种文本和光盘都没有相同的中心。。。在
图像的二值化也不是一个好主意,因为在压缩之前加上更多的噪声也不是一个好主意。看看这些:
中心可以从所选文本(弧)几何计算,只需找到它(边)上最远的点和弧上它们之间的中间点。从中你可以计算弧中心和半径。。。甚至适合。。。在
黑点是一个完美的定心功能,极轴展开似乎工作良好,字符的变形可以忽略不计。在
Tesserac的失败可能是由于图像质量低(模糊)。在
相关问题 更多 >
编程相关推荐