最快的偏移校正算法?

时间:2010-12-03 20:00:38

标签: c++ algorithm image-processing twain

我对手头的任务感到有些不知所措。我们有一个工具包,用于TWAIN扫描。当设置了去偏移选项时,我们的一些客户抱怨扫描速度较慢。这是因为如果他们的扫描仪不支持硬件校正,则在CPU上进行后处理。我想知道是否有人知道一个好的(即快速)算法来实现这一点。我很难说出我们现在使用的算法。那里有什么算法,它们如何在速度/准确度上排名?如果我知道算法的名称,我可以更容易地对它们进行谷歌搜索。

谢谢。 - 汤姆

3 个答案:

答案 0 :(得分:3)

您是在使用彩色还是黑白扫描?

Deskew是处理器密集型的。必须对Group4 tiff或JPEG进行解压缩,确定倾斜角度,校正偏斜然后进行压缩。

有很多图像处理算法都有去偏移校正,多年来我已经评估了很多。不同库之间的处理速度存在巨大差异,其中很大程度上取决于编码的程度,而不是使用的算法。商业图书馆只是在阅读和书写图像方面存在巨大差异。

到目前为止,我用过的最快的商业歪斜来自Unisoft Imaging(www.unisoftimaging.com)。我假设其中很多都是用汇编语言编写的。 Unisoft已经存在多年,非常快速和高效。它支持不同的许多不同的偏移校正选项,包括黑色边框去除,颜色和黑白偏移校正。 Group4例程非常可靠且非常快。该库附带许多其他图像处理选项以及TWAIN和本机SCSI扫描仪支持。它也支持Unix。

如果你想要一个免费的偏斜,你可能想看看Leptonica。它没有太多的文档,但非常稳定,写得很好。 http://www.leptonica.com/

从头开始编写代码可能非常耗时,并且可能非常错误且容易出错。

另一种选择是在单独的过程中处理文档,以便扫描可以以扫描仪的速度运行。目前你可能正在以平行的方式处理所有事情,一个接一个的任务,因此减速。

答案 1 :(得分:0)

考虑将其作为后处理,因为无法实时校正偏移(除非硬件加速)。

Deskew包含两个步骤:倾斜检测和旋转。通常可以在B& W(1位)图像上更快地检测倾斜角度。旋转速度取决于插值的质量。优质的偏斜校正将花费大量时间来运行,远远超过扫描页面。

如果具有硬件JPEG或TIFF Group 4压缩功能,良好的高速扫描仪每分钟可以执行120个双面页面,并且您的TWAIN库可以利用它(提示:不使用纯模式)。您几乎没有足够的时间以该速度将文件保存到硬盘驱动器,更不用说解压缩,倾斜检测,旋转,重新压缩。除非您可以使用视频卡的硬件加速器进行旋转和压缩,否则每页的质量校正需要几秒钟。

答案 2 :(得分:0)

我是否正确理解您已经实施了此类算法?如果是这样,您确定没有优化空间吗?我将从分析现有解决方案开始。

无论如何,我猜你应该寻找快速的数字Radon变换算法。

看看http://pagetools.sourceforge.net。他们有偏移校正算法实现。