我们已经开发了一个C#组件,可以读取各种尺寸、旋转角度和质量等级的条形码数值。目前还未发布,但我们将在http://blog.lemqi.com上发布详细信息。它可能是免费的(也许是开源的)。但可能要再过1-2周才能发布,因为我们需要重构代码。
请参考CodeProject文章:从图片中读取条形码-II。作者(詹姆斯)改进了一份先前编写的VB库来仅使用.NET代码解码图像中的条形码。可供下载的解决方案中有两个项目: 条形码库 - 用C#编写 测试应用程序 - 用VB编写 我已经成功地使用了C#代码在VS2008中针对一个包含扩展字符的Code39条形码的JPG图像进行了解码。该库具有扫描整个图像以查找条形码的功能,其中条形码仅为部分。这有好处和坏处。它更加灵活,但您可能需要解析出噪声。当然,您将希望从最干净的图像开始。此外,扫描的条形码必须相当直,不能旋转或倾斜。如果您可以将扫描限制在实际条形码的“切片”上,可能会获得更好的准确性。在文章评论中,另一个用户 提交了 一个函数,重新扫描条形码并使用校验和数字,这很棒,如果您控制原始条形码的打印并且可以在第一次包含校验和。当然,还有一些非常令人印象深刻(也非常昂贵)的商业解决方案,具有测试良好、更灵活、可以扫描更多的条形码格式,并且由于改进的图像采样而对图像质量更加容忍的优点。 但这是一个不错的(免费)开始! 您需要注册 CodeProject 才能下载代码,但这也是免费的 - 值得花时间,因为该网站上有很多优秀的代码! 更新:顺便提一句,我刚看了一下博客,这是Joachim Kerschbaumer在另一个回答中提到的。一定要关注这个项目!它看起来非常稳健。如果它能读取那些复杂图片中歪曲的条形码,那么它就可以做任何事情!