我有下面的JPG图像。如果我想找到白色页面与黑色背景相交的边缘。所以我可以顺时针旋转内容几度。我的目的是拉直文本以用于Tesseract OCR转换。我不认为需要像我在类似的例子中看到的那样旋转文本块。
在文档Canny Edge Detection中,第三个参数200例如edges = cv.Canny(img,100,200)
是maxVal,并被称为“肯定是边”。在任何试错方法之前,是否有任何方法来确定这些(最大/最小)值?
我使用了利用Python CV 2模块的代码示例,但边缘检测是为更简单的应用设置的。
有没有什么方法可以把文字从等式中去掉。例如:仅检测大于指定长度的边缘线?
如有任何建议,我们将不胜感激。
1条答案
按热度按时间wlsrxk511#
考虑Otsu。
它的主要优点是它能适应图像中的局部照明。在你的情况下,空白边缘可能是可取之处。
考虑处理一系列2倍缩减分辨率的图像,其中新像素是原始4个像素的min()(甚至max()!)。这些缩减的图像可能会帮助您专注于对您的用例重要的特性。
校正扫描文本的常用方法是二值化,然后不断改变theta,直到“光栅上的像素总和”为零或很小。特别是,如果下降线很少,行间距合适,当theta与原始打印方向匹配时,我们将看到文本每行上有“很多”像素,文本行之间“接近零”。这使我们能够恢复(1.)每行像素,以及(2.)行间间距,假设我们已经找到了接近最优的θ。
在您的特定情况下,关注
...
前导点似乎是找到全局最佳抗扭斜校正Angular 的一种有前途的方法。丢弃图像左右区域中的大矩形像素实际上可以减少噪声并提高这种方法的准确性。