X86系统下 VC环境整二维码识别

libdecoderq 库编译过程

本文开发环境和系统说明:

系统: Windows 7 旗舰版

VSVS2008    后续的都是使用 Debug方式编译。


尝试过另外一个库ZBar 做二维码的解析,因为ImageMagick库实在是在导入后,总是在编译时出现符号找不到,只得先放弃。

1. 下载源码,地址为:http://trac.koka-in.org/libdecodeqr,目前版本为 0.9.3

2. 解压,目录结构如下:

3. 编译libdecodeqr.lib 库,先进入src\libdecodeqr\目录,运行如下:


VS2008会提示进行转换,没关系。选择是即可。

由于是按照网上的教程来做的,推荐的是使用OpenCV 1.0库,所以项目的配置需要做相应的修改,如:

项目 -> 属性 -> C/C++ -> 常规,右侧“附加包含目录”


编译,在Debug目录会产生这个库文件,如:


4. 范例编译,有两个项目,如:



编译第一个 simple,相对简单,设置头文件位置,如:

库文件位置:


这里的都是使用 OpenCV 1.0版本。附加依赖项中本身就包含有库的名字,如:

编译出来的结果为 simple.exe ,使用需要加参数,指向图片文件名。

可以使用CMD,然后切换到项目位置,也可以使用IDE,直接指定参数,如:

前提是在当前目录中存在 01-1.png文件。

据测试,不一定都能解析出来,这是一个在自己制作的 qr编码的二维码图片,就不能解析。

而微信,快拍等是能够识别到的。当然 libdecodeqr-0.9.3\img\ 中的图片不一定都能解析出来,试过有很多不清晰的都不能被解析,即使是微信,快拍等都不能解析出来。

第二个例子 webcam ,单从名字就能看出这个是利用摄像头的程序,和之前的一样,设置头文件,库文件,然后编译,运行,都正常。

但却是黑屏,什么都获取不到。调试发现是:

CvCapture *capture=cvCaptureFromCAM(0);

    if(!capture)

        return(-1);

capture NULL,程序直接退出了。

运行时截屏如下:


点击“确定”,很好,程序默默的就这样退出了,坑爹。 

使用的是 OpenCV 1.0的库

cv.lib

cxcore.lib

highgui.lib

相反换成 OpenCV 2.0 的库,重新编译,这就OK了(前提先编译好了 OpenCV 2.0库),其中原因可能是跟操作系统版本有关,总之在Win7 下实验用2.0是可以的。


结果为:


识别二维码,效果如:


确实别解析出来了,这个库还是很牛的啊。 需要注意的是源码未经改动过的,需要在src屏幕上敲下空格键才会进行解码。

总结:

OpenCV 1.0 库和 OpenCV 2.0 库名称的区别:

cv.lib 发行版为cv200.lib调试版为  cv200d.lib

cxcore.lib cxcore200.lib   cxcore200d.lib

highgui.lib highgui200.lib   highgui200d.lib

默认安装路径的区别:

OpenCV 1.0 的路径为 “C:\Program Files\OpenCV\

OpenCV 2.0 的路径为 “C:\OpenCV2.0\

库文件的区别:

V1.0 默认都编译好了,库文件就在 lib\ 目录下。

V2.0 需要编译,库不是现成的。 编译过程需要用到 cmake 工具。


转载请注明出处: http://blog.csdn.net/liuyu60305002




评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值