ZBar在Windows上的使用 -- ImageMagick and OpenCV
2024-09-01 12:56:15
博客转载自: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
编译,运行可以得到相同的解码结果。
最新文章
- LYDSY模拟赛day1 Walk
- 【codevs1012】最大公约数和最小公倍数
- oracle启动关闭命令
- Unity3D ShaderLab 各向异性高光
- ALTER TABLE causes auto_increment resulting key &#39;PRIMARY&#39;
- SQL Server 2008导入、导出数据库
- [firefly]暗黑源码解析
- Codeforces 553C Love Triangles(图论)
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(46)-工作流设计-设计分支
- BZOJ 1878: [SDOI2009]HH的项链( BIT )
- Day25 前端自学日记——入坑记
- ZOJ-2965
- [django]添加自定义template filter标签
- Pyton:类变量,实例变量,类对象,实例对象
- Spring Boot中Web应用的统一异常处理 转载来自翟永超
- Django配置相关及其它
- mysql 按出现次数排序
- a标签禁止跳转或者不跳转的几种实现方式
- Ex 6_2 假设您准备一次长途旅行..._第五次作业
- 如何利用Grunt生成对应的Source Map文件,线上代码压缩使用chrome浏览器便于调式
热门文章
- ItelliJ IDEA下载及获取注册码详解
- Java企业微信开发_15_查询企业微信域名对应的所有ip
- 条款49:了解new-handle行为
- New Concept English three (59)
- javascript版前端页面RSA非对称加密解密
- Gym - 101635K:Blowing Candles (简单旋转卡壳,求凸包宽度)
- Shell脚本备份Mongodb数据库
- css3 flex布局/grid布局
- Unity Shader 创建程序纹理贴图
- JavaWeb框架_Struts2_(四)----->;表达式语言OGNL