1.去Zbar官网下载对应版本Zbar安装:http://zbar.sourceforge.net/download.html
此次下载的是windows版本0.10
此处注意勾选“Development Headers and Libraries”
安装完成路径下,获得解压缩的包
2.visual studio 2015配置Zbar开发环境
类似于opencv开发环境配置,类似步骤可以参考
http://blog.csdn.net/oliverkingli/article/details/50907941
这里简单介绍
(1)新建Zbar项目
(2)添加Zbar属性表文件
环境变量配置
将D:\Tools\zbar\bin添加到系统环境变量path中
至此完成工程配置。
3.测试
改程序完成查找到输入图片中的二维码,并在控制台窗口和图片窗口中分别输出二维码的内容。
// Zbar_code.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<zbar.h>
#include<opencv2\highgui\highgui.hpp>
#include<opencv2\opencv.hpp>
using namespace std;
using namespace cv;
using namespace zbar;
int main()
{
// 定义Zbar扫描的类
ImageScanner scanner;
// 初始化
scanner.set_config(ZBAR_NONE, ZBAR_CFG_ENABLE, 1);
// 加载二维码图像数据
Mat srcImage = imread("generate.jpg");
if (!srcImage.data) {
cout << "Input image error!" << endl;
system("pause");
return 0;
}
Mat src_gray;
cvtColor(srcImage, src_gray, CV_BGR2GRAY);
int width = src_gray.cols;
int height = src_gray.rows;
// wrap the image
uchar*raw = (uchar*)src_gray.data;
Image imageZbar(width, height, "Y800", raw, width*height);
// 开始扫描
scanner.scan(imageZbar);
// 扩展结果
Image::SymbolIterator symbol = imageZbar.symbol_begin();
if (imageZbar.symbol_begin() == imageZbar.symbol_end()) {
cout << "扫描失败,检查图片数据!" << endl;
}
for (; symbol != imageZbar.symbol_end(); ++symbol) {
cout << "类型:" << endl << symbol->get_type_name() << endl;
cout << "条码:" << endl << symbol->get_data() << endl;
}
imshow("原始二维码图片", srcImage);
waitKey(0);
imageZbar.set_data(NULL, 0);
return 0;
}