我的.NET应用程序需要解码DataMatrix格式的2D条形码。
我最初使用的是一个名为Tasman.Bars的商业库,它有非常棒的免版税许可条款,出色的性能,并支持许多不同的条形码类型……除了在某些图像上它会崩溃。这些图片非常罕见,但这仍然是一个令人望而却步的错误。不幸的是,当我遇到它的时候,这个库已经不再被出售或支持,已经被另一家公司买下,取而代之的是一个更昂贵的产品。
我尝试过开源的libdmtx,包括本机版本(通过包装器)和.NET端口(DataMatrix.net),但它的性能令人失望。当它解码时,我必须给它一个超时值,即使在2.8 GHz的四核上,1秒也不足以解码一些图像。4秒的效果更好,但这是一个令人恼火的时间,甚至10秒对于我尝试过的一张图片来说也不够-我怀疑这张图片完全失败了,尽管它在视觉上看起来与另一张工作的图片完全相同。
所以..。有什么建议吗?只要版税很低或根本不存在,商业图书馆就没问题。
发布于 2010-07-24 00:12:57
斑马线( http://code.google.com/p/zxing/ )有一个到C#的部分端口,我相信数据矩阵是实现的。查看http://zxing.googlecode.com/svn/trunk/csharp/datamatrix/,亲眼看看。请让我知道结果如何。
发布于 2011-02-15 20:53:24
这是一个很好的讨论。我有几个(希望有用的)评论要补充:
@godsky:关于AIPSYS库,在2008年,我在他们的演示二进制文件中检测到libdmtx符号的存在,强烈建议他们只是混淆了代码,添加了一些片段,并开始收取数百美元的费用。我通知了AIPSYS可能违反了LGPL,但他们没有回应。由于AIPSYS是一家中国公司,除了在gpl-violations.org上记录投诉之外,我不知道如何追查它。
@Jesse:当前版本的libdmtx通常需要一些调整才能获得最佳性能。我听说过图像扫描需要几秒钟的报道,但我很少在本地复制它。如果你仍然有任何这些问题的图像坐在周围,我很乐意扫描一些,看看我是否可以重现问题(并可能在这个过程中帮助你)。我们在作品中有一个新版本,它将在“开箱即用”的情况下表现得更好,但目前它仍然需要一点爱才能达到最好的效果。
免责声明:即使您的图像使用原生libdmtx快速扫描,我也无法预测它将如何转换为libdmtx-net (包装器)或DataMatrix.net ( .NET端口),因为我没有参与这些工作。但希望它能提供一个开始。
https://stackoverflow.com/questions/3323103
复制相似问题