返回首页

从图像读条码 - 三:{A}{A2}
{S0}鸣谢
该项目是基于CodeProject上的文章:{A3}。我问了qlipoth许可发布他的代码的增强版本。简介
我公司需要从图像中还含有条码(S)的同一页上的文本阅读条形码。在C#解决方案时,我发现{A4}。他的代码,朝着我想要的东西很长的路要走,但我需要一些改进。最后,我的变化,一个显著重写的理由CodeProject上一个新的出版物。背景
这段代码相比,在2005年写的原代码的几项改进:验证添加Code39条形码。该代码的机会要少得多检测quot; barcodequot;实际上并不存在。检测速度提高。在原有项目的主要问题是,它使用Bitmap.RotateFlip的功能是相当缓慢。新增EAN / UPC条码,CODE128条码支持。原来的项目只能检测到Code39条形码。修正一些错误报道qlipoth的项目和相关的项目,在2004年{A5}。使用代码
要打开的解决方案,您需要Visual Studio 2008中。不过,我没有使用任何构造。NET 1.1的兼容,所以实际的代码应该也可以在Visual Studio 2003或2005年编译。
要使用的代码,调用FullScanPage或与Windows位图对象包含您的图像ScanPage。包括TestApp(VB.NET编写的)演示了基本的使用:

Dim barcodes As New System.Collections.ArrayList

BarcodeImaging.FullScanPage(barcodes, Me.PictureBox1.Image, 100)

If barcodes.Count > 0 Then

  ' Found one or more barcodes ...

numscans两个函数参数显示多少像素的乐队应该跨越或向下扫描图像。有了一个较大的数字,代码发现更多的条形码,但当然,也将运行速度稍慢。一般50 - 100扫描将确定找到一个完整的页面图像的所有条码。FullScanPage和ScanPage之间的区别
FullScanPage总是扫描水平和垂直方向,并尝试检测所有支持的条码类型。如果您知道,您的输入材料总是在同一方向扫描,或如果你不需要检测所有类型的条码,可以使你的程序使用ScanPage运行更快。
的额外参数的方向和类型,您可以微调条码检测:方向:可ScanDirection.Vertical或ScanDirection.Horizo​​ntal。如果你期望的条形码旋转90度的垂直竖线,或横向条码检测使用。类型:通BarcodeType.All检测到所有支持的条码类型,或你可以指定一个或多个特定的条码类型,这样:
ScanPage(ref CodesRead, bmp, numscans, ScanDirection.Vertical,

         BarcodeType.Code39 | BarcodeType.Code128);

支持的类型CODE39,EAN和CODE128。 EAN的读者会发现UPC代码。兴趣点EAN的读者还读了2个或5个补充条码经常发现图书和期刊的数字。屏幕截图所示,将返回的补充条码,作为一个单独的条码与quot开始的字符串; Squot。CODE128读者混合代码页支持在样品图像Code128test CodeC.png序号启动代码C,但最后一个数字是添加代码B。代码使用了更先进的方法测量quot;窄栏widthquot比qlipoth Liedblad的版本。阅读时EAN和CODE128,这应该让更好的检出率。 CODE39,我们只需要区分狭隘的和广泛的酒吧,但其他条码类型使用四种不同的栏宽度。我已经添加的quot概念;条码zonesquot;,允许在同一扫描线的不同规模的条码检测。在Code128test CodeC.png,这使得该软件读取的序列号和UPC码,印方方。参考文献
我用下面的引用,而写作这个项目:为了实现EAN的检测:{A6}维基百科的文章。实施代码128:IDAutomation.com公司,用于测试发表{A7}。历史2009年10月5日,日:原件。2009年10月19日:改进CODE39检测,修复的问题。添加VB.NET条码检测类翻译和亚历山德罗Gubbiotti提供的COM接口。 |贝伦德恩格尔布雷希特

回答

评论会员:会员3888816 时间:2012/01/25
嗨,我使用你的代码读取TIFF文件的条码,但有时TIFF文件是无法工作,你能帮助我,请它不sacning条码为什么
评论会员:?steve7g 时间:2012/01/25
我的Visual Studio 2005,这是确定的?我们要考虑的大小设置,条码宽度和高度{A8}
keepautomation的{A9}
评论会员:chenghuiwu 时间:2012/01/25
非常非常好
评论会员:mpino 时间:2012/01/25
我要感谢你与我们一起分享这个伟大的代码

关于
曼努埃尔
评论会员:游客 时间:2012/01/25
Jecka:|HI非常有用和有趣的文章!但我遇到了一些128的代码库确认。你要考虑的问题?我可以发送图像containg等条码
东营
评论会员:游客 时间:2012/01/25
像561001010002230074128-C,checkdigit100
会员7932888
评论会员:游客 时间:2012/01/25
我无法从一些图像检索的条形码,而有些条码EASYLYASSESIBLE{S2}
会员7998402
评论会员:游客 时间:2012/01/25
来源不工作在我的电脑(XP)请给我们一个新的2010年版本(它不会与2008年的工作太)MFG
。Nasenbaaer
评论会员:游客 时间:2012/01/25
大。我要寻找的PDF417解决方案
thatraja
评论会员:好文章 时间:2012/01/25
保罗出雏
评论会员:游客 时间:2012/01/25
一个主要的性能提升(〜2倍),以取代在ParseCode128Pattern检查switch语句-NET内部作为一个Hashtable实现这些,所以比较是非常快的的保罗
andredani
评论会员:非常好的工作 时间:2012/01/25
会员7409541
评论会员:游客 时间:2012/01/25
您好,我有您的许可才能发布一个WindowsPhone7重新编写你的代码。回代码项目?基本上只是使用Windows.Media命名空间-反对lockbits可写位图
贝伦德恩格尔布雷希特
评论会员:游客 时间:2012/01/25
WP7的代码,是某处
gdorleus
评论会员:游客 时间:2012/01/25
没有,还没有等到我得到许可。作者:Diamonddrake
我批准。我只要求你承认这篇文章,并链接回新的出版物
评论会员:。vermis0 时间:2012/01/25
您好,

你知道你什么时候会释放出WP7的版本?
在此先感谢,
评论会员:钱德拉谢卡尔GuptaJi 时间:2012/01/25
其实我打的文章,写一个Windows Phone版本。我有一个Windows Phone 7应用程序称为PackageTracker。一些用户的要求,我包括一个条形码扫描的方式,外运货物的跟踪数量。我重写这段代码,Windows Phone 7平台上工作,但如果有人已经做了它(大概比我会做的更好),这肯定会使事情变得容易,信贷将在应用程序
。 | krisstoddart
评论会员:游客 时间:2012/01/25
工作开箱,只花了几个小时,使用它创建一个可配置的实用程序
会员4442772
评论会员:游客 时间:2012/01/25
亲爱的主席先生,我不是从一些文件读取条码。请给我提供一些额外suggestin
史蒂芬Siessman
评论会员:游客 时间:2012/01/25
伟大的工作!许多aprreciated。:)
WashCaps
评论会员:游客 时间:2012/01/25
!您好伟大的工作为止!这是我一直在寻找迄今。但我需要条码扫描的PDF。现在我要保存PDF图像和扫描这个图像。是不是有一种方式来获得这项工作做得更快,更有效率?感谢您的回答。BR,修改周二,9月7日,2010下午01:59