我有一个OCR C#项目中,我得到一个扫描的文档,在它的文字,我需要在文档中返回文本。图像处理 - 旋转扫描的文档文本对齐
我已经有解析文本的解决方案,但是我们是停留在扫描的文档被旋转的部分(向右或向左)。
假设有图像没有噪音(全像素为白色或黑色),任何人都可以帮助我们的算法旋转运行系统中的图像(如果没有一个人的眼睛)?
感谢
我有一个OCR C#项目中,我得到一个扫描的文档,在它的文字,我需要在文档中返回文本。图像处理 - 旋转扫描的文档文本对齐
我已经有解析文本的解决方案,但是我们是停留在扫描的文档被旋转的部分(向右或向左)。
假设有图像没有噪音(全像素为白色或黑色),任何人都可以帮助我们的算法旋转运行系统中的图像(如果没有一个人的眼睛)?
感谢
(我不是专家,但在好奇心写这个帖子)
恕我直言,这个问题可以有效地与蛮力试错法来解决成本。因为不会有太多错误的方向。
我认为你可以很容易地确定文本的边框。这个边界框只能以两种方式有错误的方向。明智地旋转时钟或明智地旋转计数器时钟。因此,最大两次旋转图像(使边框垂直旋转)可以找到正确的方向。
也就是说,你可以找到正确的文档的方向没有图像的进一步处理,以确定文本对齐。确定文本对齐将是我认为的相当大的处理。
UPDATE
我的建议,我们没有找到确切的旋转角度。如果粘接盒直立,它可以处于直角或180度旋转角度。
1)使接合框直立
2)运行OCR,检查结果,如果确定其完成
3)旋转180度
2)运行OCR。这一次它必须是在正确的角度
如果我们真的需要找到确切的旋转角度,我认为它必须从找到可能的字符'o','c'或'm'(不包括斜体字体)。或者,找到期间的相对位置('。')。我认为这需要复杂的操作。
这是我们在批量扫描/编码套件中完成的方式。 – 2011-01-20 17:08:46
使用Hough Transform检测应该是水平文本方向的最强阵容方向。 Hough变换的基本前提是将x-y坐标转换为r-theta坐标系,其中r是距离原点的距离,θ是方向。
一旦图像被转换,bin相同的thetas来找到最强的方向。
因为此方法在离散r和thetas中使用投票。 θ的分辨率与使用的箱数一样好。因此,不要使用-180到+180度的增量,您可能希望将其限制为更精确的角度或速度。
图像总是会旋转90度左右吗? – 2011-01-20 17:08:16