如何检测(并纠正)图像中的偏斜?

时间:2010-07-03 06:11:46

标签: image skew

我有大量扫描图像,它们都有些偏斜,周围有白色区域。

因此,这些图像具有矩形的颜色,被大的白色区域包围。问题是这些颜色的矩形与图像边界不平行。

我确信必须有一种方法可以通过编程方式检测这些颜色的矩形,这样我就可以旋转图像(从而使其不偏斜),然后裁剪它以便只留下有趣的部分。我想我不确定这个过程是什么,所以我在Google上搜索解决方案时遇到了麻烦。

有没有人知道一种让我入手的方法?我应该研究哪些图书馆?或者有助于算法的名称?

我打算在这个项目中使用Java,但我还没有真正开始,所以我愿意接受任何语言的图书馆建议。

3 个答案:

答案 0 :(得分:4)

  • 边界检测
  • 霍夫变换(如果图像上的所有矩形具有相同的偏斜)
  • 矩形轮廓检测(连通分量轮廓,最小区域边界矩形)

答案 1 :(得分:3)

Alyn是第三方软件包,用于检测和修复包含文本的图像中的偏斜。它使用Canny边缘检测和Hough变换来查找偏斜。

要检测歪斜,请运行

./skew_detect.py -i image.jpg

要纠正歪斜,请运行

./deskew.py -i image.jpg  -o skew_corrected_image.jpg

答案 2 :(得分:1)

您也可以尝试使用scikit-image http://scikit-image.org/docs/dev/auto_examples/

这是一个很好的hough变换库,但也有其他方法,如Radon变换和几何变换这类任务。

这是一个python库。