0

我制作了一个扫描仪程序,它使用 WIA 从我的扫描仪 ADF 中扫描图片。它工作正常,但我也希望能够从平板扫描多张图像。

但是,我如何判断图像在平板上的位置?我需要知道在哪里裁剪扫描图像,但不知道图像在扫描图像中的位置,我无法裁剪它。

我已经搜索了谷歌,但我发现的一切都是为了比较图像,或者查看图像是否存在于另一个图像中等等。这当然不是我要找的。我只想能够找到平板中任何和所有图像的位置,这样我就可以循环浏览并单独保存每个图像。

该程序是用 C# 编写的。

4

1 回答 1

1

算法:可以使用边缘检测器构建一个过滤器,该过滤器将从一组不重叠的矩形中选择单个图像。

我会采取以下方法:使用边缘检测器获取边缘列表。将它们过滤成相交并形成循环的边集,并且该循环中的边数为 4。清除在另一个循环内发生的任何循环。您可能还想删除质量低的边缘(您正在寻找矩形的直线,因此您想要的边缘应该很容易发现)。

然后你有一个图像边界循环列表,所以你可以做一些基本的处理(双线性仿射blit)来转换任何未对齐并将它们输出到文件。

可能的图书馆:我会看看 opencv.net,http://code.google.com/p/opencvdotnet/

于 2012-01-02T03:56:10.817 回答