最近在研究一维条码和二维码的识别技术,用于设备巡检、仓库管理等行业应用。如果通过CF接口或SD接口的条码扫描头进行识别,识别效率和准确率最高,但是硬件的投入成本比较高,一套PDA设备在7千元以上,高的有1万多。如果采购的设备数量比较多的话,在硬件的投入会成为客户的顾虑。
除了通过硬件扫描头识别的方案,还有一种廉价的方案是先利用PDA的摄像头对条码进行拍照,再通过代码对拍摄到的条码图像进行分析解码,最后获得条码的具体信息。第二种方案只要带摄像头的PDA就能支持了,一套PDA设备的成本降低为原来的1/4。不过这种方案使用起来没有硬件扫描头那么直接和方案,识别率跟拍照的效果有很大的关系。以下是我在
http://qrcode.kaywa.com/ 生成的QR-Code二维码,对应的信息是“http://upto.cnblogs.com/”。

然后我写了一个Demo程序,通过 CameraCaptureDialog 对话框类打开摄像头拍摄,对这屏幕的二维码进行拍照,拍照完成后返回到Demo程序,Demo程序会自动对拍摄到的二维码图像进行解码,并获得对应的信息。如下图所示,解码后的结果是“http://upto.cnblogs.com/”,耗时448毫秒。

Barcode
http://en.wikipedia.org/wiki/BarcodeOpen Source QRCode Library
http://www.codeproject.com/KB/cs/qrcode.aspx作者:黎波
博客:
http://bobli.cnblogs.com/日期:2009年9月14日
posted @ 2009-09-14 11:32
黎波 阅读(7765)
评论(45) 编辑 收藏
发表评论
也正在研究通过此方式读取39码条码和直接识别条码下方的数字结合
二维码 别的国家早应用很多了,我们太落后了,要加油啊
生成的二维码图片是很容易识别出来,而普通PDA照相出来的却很难识别出来,而且操作麻烦很难在实际中运用,学习下还可以。
带扫描的PDA,一般用在工业上,都是有工业等级的,所以一般价格比商业用的手机高出不少。一般比较好的:Symbol 或 Intermec 等。
我们从事多年的,PDA+扫描 此方面的开发应用,有机会可以交流一下。
拿来学习借鉴还是可以的,实际用途无限接近于零。
识别摄像头生成的照片,对于使用的场景光线和使用者的技术水平,另外还有二维条码的介质表面,都有很高的要求。识别率太低
syban系统下已经有成熟的识别二维码的软件,NOKIA官方也出了一款,
window mobile 系统下应该也有类似的软件,而且识别率还相当的高!
大哥,有参考资料什么的么?看着挺晕的,不太了解算法 :(
想学习一下!能给一下DEMO源码吗?
163fit@163.com 谢谢!
最近才做了一个二维码的项目.
WINCE5+USB摄像头+GPRS模块.
最关键是图像识别..
先用了Open Source QRCode Library
但对图像质量的要求太高了,从摄像头取出的识别率很低..
后来还是购的一个商业的.识别率很高.
PartiTek 百度一下就知道了,有试用的.
今天亲自拿viva做了个测试,发现要关闭Touch Flo,然后用CameraCaptureDialog才能正常返回程序界面,识别率还行。我的像素是200w的,感觉够用了。
谢谢楼主的分享!
刚才试了一下,图片太大,放弃解码...
另外,这个拍出来的张片是否还要裁剪一下?
@egmkang
我把摄像头的分辨率改为240*320
@egmkang
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
不支持中文,,,,
IsUnicode写的不对...明明的Unicode的中文这里确返回Encoding.ASCII
不支持中文,,,,
IsUnicode写的不对...明明的Unicode的中文这里确返回Encoding.ASCII
这种办法不适合商用,我们原来这样做过。
后来买了商业的。不用capturedialog,直接摄像头内存扫描。
效果非常好。
http://www.e1861.cn/Default-1118-barcode-0up.html
我用的是PC版的,可发现Data不能超过128个字符,超过128个字符,会提示IndexOutOfRangeException in rsTemp 的超出索引最大值异常,这是什么错误,如果要对大数据进行编码,改怎么解决.
我的是ACER的F900,调用CameraCaptureDialog老是失败,结束Touch Flo进程后还是不行,后来就干脆调用F900的相机程序camera.exe,先拍照再解码。这样试了几次,英文字符还行,中文的成功率非常低,不知道是不是跟拍照的图片效果有关,另外解码时的速度非常慢,起码要好几秒,要说F900的配置也算中下水平,不知道为什么这么慢。
楼主的是什么PDA拍的呢?448ms,挺快的,羡慕啊
需要手动拍照吗?
能否动态识别?
对图片的背景光和摄像头要求怎么样?