博客转载自:https://blog.csdn.net/sunflower_boy/article/details/49095265

1. 下载ZBar v0.10 http://zbar.sourceforge.net/ 外网无法进入的话,在此下载 http://download.csdn.net/detail/sunflower_boy/9175433
  1.1 默认安装 注意勾选上Development Headers and Libraries

Zbar Windowns版本安装

安装完成后可在ZBar安装路径下找到examples文件夹,用vs2008及以上编译器可以打开工程文件,在源文件中可以看见例程还需要ImageMagick组件来读取文件,将文件转换成需要的格式 。
2.下载ImageMagick 我的版本是ImageMagick-6.2.7-Q8
  2.1 默认安装 注意勾选Install development headers and libraries for C and C++ 

3. 将Zbar和ImageMagic的头文件和链接库添加到工程中,同时二者相对应的动态运行库添加到系统全局路径。

4. 打开scan_image.cpp ,屏蔽掉11行的

if(argc < 2) return(1); 

将27行的

Magick::Image magick(argv[1]); 

替换为

Magick::Image magick("barcode.png");

或者 直接在VS中设置运行参数

1. 选择PROJECT—>Properties—>Configuration Properties—>Debugging—>Command Arguments
2. 在Command Arguments中添加参数 barcode.png

运行结果

decoded EAN-13 symbol "9876543210128"

程序分析 
从例程中可以看出Magick只是用来打开图片,转换格式,转换成灰度,二维矩阵的作用,用OpenCV可以实现相同的作用。只需要将opencv的头文件和库目录添加到VS,修改图像处理部分为

//opencv
cv::Mat img = cv::imread("barcode.png");
cv::Mat imgGray;
imgGray.create(img.size(), CV_8UC1);
cvtColor(img, imgGray, CV_BGR2GRAY);
int width = imgGray.cols; // extract dimensions
int height = imgGray.rows; // wrap image data
Image image(width, height, "Y800", imgGray.data, width * height);

同时添加opencv库

opencv_core2413d.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib

编译,运行可以得到相同的解码结果。

最新文章

  1. LYDSY模拟赛day1 Walk
  2. 【codevs1012】最大公约数和最小公倍数
  3. oracle启动关闭命令
  4. Unity3D ShaderLab 各向异性高光
  5. ALTER TABLE causes auto_increment resulting key &#39;PRIMARY&#39;
  6. SQL Server 2008导入、导出数据库
  7. [firefly]暗黑源码解析
  8. Codeforces 553C Love Triangles(图论)
  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(46)-工作流设计-设计分支
  10. BZOJ 1878: [SDOI2009]HH的项链( BIT )
  11. Day25 前端自学日记——入坑记
  12. ZOJ-2965
  13. [django]添加自定义template filter标签
  14. Pyton:类变量,实例变量,类对象,实例对象
  15. Spring Boot中Web应用的统一异常处理 转载来自翟永超
  16. Django配置相关及其它
  17. mysql 按出现次数排序
  18. a标签禁止跳转或者不跳转的几种实现方式
  19. Ex 6_2 假设您准备一次长途旅行..._第五次作业
  20. 如何利用Grunt生成对应的Source Map文件,线上代码压缩使用chrome浏览器便于调式

热门文章

  1. ItelliJ IDEA下载及获取注册码详解
  2. Java企业微信开发_15_查询企业微信域名对应的所有ip
  3. 条款49:了解new-handle行为
  4. New Concept English three (59)
  5. javascript版前端页面RSA非对称加密解密
  6. Gym - 101635K:Blowing Candles (简单旋转卡壳,求凸包宽度)
  7. Shell脚本备份Mongodb数据库
  8. css3 flex布局/grid布局
  9. Unity Shader 创建程序纹理贴图
  10. JavaWeb框架_Struts2_(四)-----&gt;表达式语言OGNL