能在Windows CE上运行的的二维码识别系统,使用手机摄像头扫描二维码

        欧美和日本,二维码的使用比较广泛,最近看到一则新闻,我们国家也在航空服务中使用二维码了。二维码具有信息容量大、纠错能力强、可靠性高、成本低、防伪性好、持久耐用等一维条码所不具备的优良特点。二维码的种类繁多,常用的有DM码、QR码,扫描设备可以是激光或者光学仪器。

    本项目做的是Visual码的识别系统,使用一般的摄像头(如手机)扫描输入图像(640×480),在Intel(R)Pentium(R)Dual,1.73GHz的硬件条件下运行大约用时100毫秒,在ARM920T,0.4GHz,WinCE 5.0下运行大约用时1秒。

        下图就是Visual码,

           能在Windows CE上运行的的二维码识别系统,使用手机摄像头扫描二维码_第1张图片            能在Windows CE上运行的的二维码识别系统,使用手机摄像头扫描二维码_第2张图片  

 

这种二维码是11×11 的矩阵,每一位是白或黑色,表示二进制信息;三个用来定位的角点(右图蓝色),一长一短两导向条(右图紫色),长度分别为57位;与它们邻近的位均为白色以区分;剩下的83 位是信息位。

 

能在Windows CE上运行的的二维码识别系统,使用手机摄像头扫描二维码_第3张图片

 

Visual码的这种结构使得它具有旋转不变性,更准确的来说是透视不变性,摄像头拍摄二维码(任意角度和距离),那么实物和图像中的二维码构成中心(镜头)投影变换,即透视变换;Visual码的这种不变性使得可以使用计算机视觉和图像处理的方法去处理获取到的包含二维码图像,从而获取二维码数据。

 

处理过程的一些演示图例:

 绿色X标记找到的数据

能在Windows CE上运行的的二维码识别系统,使用手机摄像头扫描二维码_第4张图片 

 

操作界面,右边一栏显示获取到的数据

能在Windows CE上运行的的二维码识别系统,使用手机摄像头扫描二维码_第5张图片

Michael Rohs2004年开发的一个开源二维条码项目中设计出了Visual码, 目前已有二维码的设计仿效了该结构,虽然各种码制不一致,但识别方法有着共通之处。

你可能感兴趣的:(windows,手机,WinCE,图像处理)