0

我手头的任务让我有点不知所措。我们有一个用于 TWAIN 扫描的工具包。我们的一些客户抱怨设置纠偏选项后扫描速度变慢。这是因为如果他们的扫描仪不支持硬件纠偏,则会在 CPU 的后处理中完成。我想知道是否有人知道一个好的(即快速)算法来实现这一点。我很难说我们现在使用的是什么算法。有什么算法可以解决这个问题,它们在速度/准确性方面的排名如何?如果我知道算法的名称,我可以更轻松地对它们进行谷歌搜索。

谢谢你。-汤姆

4

3 回答 3

4

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

去歪斜是处理器密集型的。必须对 Group4 tiff 或 JPEG 进行解压缩、确定偏斜角、去偏斜然后压缩。

有许多带有纠偏的图像处理算法,这些年来我已经评估了很多。不同库之间的处理速度存在巨大差异,其中很大一部分归结为编码的好坏,而不是使用的算法。商业图书馆仅读取和写入图像就存在巨大差异。

迄今为止,我使用过的最快的商业校正来自 Unisoft Imaging (www.unisoftimaging.com)。我假设其中大部分是用汇编程序编写的。Unisoft 已经存在多年并且非常快速和高效。它支持不同的许多不同的纠偏选项,包括黑色边框去除、颜色和黑白纠偏。Group4 的套路非常扎实而且速度非常快。该库附带许多其他图像处理选项以及 TWAIN 和本机 SCSI 扫描仪支持。它还支持 Unix。

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

从头开始开发代码可能非常耗时,并且可能会出现很多错误并且容易出错。

另一种选择是在单独的进程中处理文档,以便扫描能够以扫描仪的速度运行。目前,您可能正在以并行方式处理所有内容,一个接一个的任务,因此速度变慢。

于 2010-12-03T23:24:50.490 回答
0

考虑将其作为后处理进行,因为不能实时完成纠偏(除非它是硬件加速的)。

歪斜包括两个步骤:歪斜检测和旋转。通常可以在黑白(1 位)图像上更快地检测倾斜角度。旋转速度取决于插值的质量。一个高质量的纠偏需要很多时间来运行,比扫描页面要多得多。

一台好的高速扫描仪每分钟可以处理 120 个双面页面,如果它具有硬件 JPEG 或 TIFF Group 4 压缩,并且您的 TWAIN 库会利用它(提示:不要使用本机模式)。您几乎没有足够的时间以这种速度将文件保存到硬盘驱动器,更不用说解压缩、倾斜检测、旋转、重新压缩了。质量偏差每页需要几秒钟,除非您可以使用视频卡的硬件加速器来旋转和压缩。

于 2010-12-03T20:41:54.007 回答
0

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

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

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

于 2010-12-03T21:01:16.637 回答