ZBar在Windows上的使用 -- ImageMagick and OpenCV
博客转载自: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
编译,运行可以得到相同的解码结果。
ZBar在Windows上的使用 -- ImageMagick and OpenCV的更多相关文章
- Windows 上安装 Jekyll.
Jekyll是一个静态网站生成工具.它允许用户使用HTML.Markdown或Textile来建立静态页面,然后通过模板引擎Liquid(Liquid Templating Engine)来运行. 原 ...
- 在Windows上安装Elasticsearch 5.0
在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...
- 使用Gitblit 在windows 上部署你的Git Server
Gitblit: 在windows 上部署你的Git Server 前言 之前在dudu的文章里看到过用bonobogit 部署在 IIS 7.5 上的Window 平台的git 服务器.学着部署使用 ...
- 在 Windows 上安装Rabbit MQ 指南
rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. Ra ...
- 在Windows上安装虚拟机详细图文教程
用虚拟机来安装最新的软件,安装最新的系统等等比较保险,可以避免安装不顺利影响自己原来的系统和应用,想尝鲜又担心自己完全更换系统不适应的朋友可以尝试. 虚拟机下载:https://yunpan.cn/c ...
- flask在windows上用mod_wsgi部署
flask在windows上用mod_wsgi部署也是折腾了不少时间,下面就总结下. 首先下载Apache httpd,我认为Apache Hans比较好: 一般这种情况下,你的python环境已经安 ...
- 使用Windows上的Eclipse 远程调试 linux下的Tomcat
1:修改Linux上Tomcat的catalina.sh,第一行添加declare -x CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_sock ...
- Samba 共享文件后在Windows 上无法访问的问题
/etc/samba/smb.conf的配置如下: #============================ Share Definitions ========================== ...
- Windows上Python2和3如何兼容
作者:匿名用户链接:https://www.zhihu.com/question/21653286/answer/95532074来源:知乎著作权归作者所有,转载请联系作者获得授权.想学习Python ...
随机推荐
- 01-THREE.JS 第一个场景
THREE.JS第一个场景 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 使用javah生成jni 头文件和使用ndk编译so库
1.jni 首先clean Project,在makeProject生成对应的class文件 然后点出命名框,输入命令: cd app/build/intermediates/classes/debu ...
- 剑指offer--19.重建二叉树
先序:根>左>右 中序:左>根>右 后序:左>右>根 e.g. {1,2,4,7,3,5,6,8} {4,7,2,1,5,3,8,6} 先序第一个元素是根节点,在中 ...
- BZOJ3302: [Shoi2005]树的双中心
BZOJ3302: [Shoi2005]树的双中心 https://lydsy.com/JudgeOnline/problem.php?id=3302 分析: 朴素算法 : 枚举边,然后在两个连通块内 ...
- CommonJS 规范
CommonJS 是以在浏览器环境之外构建 JavaScript 生态系统为目标而产生的项目,比如在服务器和桌面环境中. 这个项目最开始是由 Mozilla 的工程师 Kevin Dangoor 在2 ...
- 【转】深入剖析Java中的装箱和拆箱
深入剖析Java中的装箱和拆箱 自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题.本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱 ...
- 寻找php.ini之旅
/usr/local/php-fpm/lib/php.ini 可以通过phpinfo()来查看 https://www.cnblogs.com/ChineseMoonGod/p/6474772.htm ...
- 蓝桥杯 算法训练 ALGO-152 8-2求完数
算法训练 8-2求完数 时间限制:50.0s 内存限制:256.0MB 问题描述 如果一个自然数的所有小于自身的因子之和等于该数,则称为完数.设计算法,打印1-9999之间的所有完数. 样例 ...
- Tex 括号的反思
在Tex中,左双引号是“,右双引号是”,输入一篇包含双引号的文章,你的任务是把它转换成Tex的格式. 样例输入: “To be or not to be,”quoth the Bard,"t ...
- MockMVC
随着RESTful Web Service的流行,测试对外的Service是否满足期望也变的必要的.从Spring 3.2开始Spring了Spring Web测试框架 Spring MVC测试框架提 ...