ZBar在Windows上的使用 -- ImageMagick and OpenCV
2023-09-11 14:19:34 时间
博客转载自: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
编译,运行可以得到相同的解码结果。
相关文章
- opencv----人脸美白算法,祛斑,祛痘,磨皮等
- OpenCV每日函数 特征检测和描述模块(2) SIFT类(提取关键点和计算描述符)
- OpenCV每日函数 BarcodeDetector条码检测器
- Opencv学习笔记 - 使用OpenCV,scikit-image和Python检测低对比度图像
- Opencv学习笔记 - OpenCV 4机器学习算法简介
- 编译OpenCV提示opencv_contrib缺少boostdesc_bgm.i等文件
- 已解决ERROR: Failed building wheel for opencv-python-headless
- OpenCV利用透视变换矫正图像
- windows server 2008 安装Microsoft ActiveSync 6.1提示缺少一个Windows Mobile设备中心所须要的Windows组件
- OpenCV中基于LBP算法的人脸检测测试代码
- OpenCV-Python Feature2D 特征点检测(含ORB/KAZE/FAST/BRISK/AKAZE)
- 在OpenCV里用clipLine裁剪直线段
- 在OpenCV里实现联合双边滤波
- C# 编写Windows Service(windows服务程序)
- OpenCV入门(三)快速学会OpenCV2图像处理基础(一)
- 模型实战(4)之Win10下VS2019+opencv部署yolov5实现目标检测
- Windows安装WSL进行机器学习(windows和Ubuntu同时使用)
- Python基于OpenCV高空抛物检测系统[完整源码&部署教程]
- yolov4视频目标检测:使用C++版本联合CUDA11.2的OpenCV 5.x编译生成opencv-python==5.x进行推理