ZBar简介及安装配置流程 | 2021SC@SDUSC
2021SC@SDUSC
目录
Zbar简介
配置流程
环境
下载ZBer库文件
配置环境变量
VS配置
测试代码
总结
Zbar简介
zbar算法是现在网上开源的条形码,二维码检测算法,算法可识别大部分种类的一维码(条形码),比如I25,CODE39,CODE128,不过大家更关心的应该是现在很火的QR码的解码效率,随着现在生活中QR码的普及,扫码支付等行为越来越多的被人们接受,关于QR码是什么,QR码的解码流程是什么样的。本篇文章就互联网上的一个开源解码算法zbar进行简单剖析。
配置流程
环境
我的环境是VS2017+opencv4.10,
下载ZBer库文件
1.可以去官网下载,ZBar库在官网上只有32位的,而我们计算机的需要的是64位的,这就需要我们自己改一些文件配置。
2.一个博主直接帮我们配置好了
链接:https://pan.baidu.com/s/1EAgiYF5S65QpWAnFWS5CrQ 提取码:jesa
配置环境变量
1.在搜索中输入“高级系统设置”
点击“环境变量”
选择变量path,点击编辑
输入路径
VS配置
在VS2017中新建一个项目,在属性管理器中新建一个属性列表
做如下配置
编辑,输入你所对应的路径,如
测试代码
#include <zbar.h>
#include <opencv2\opencv.hpp>
#include <iostream>
#include <opencv2\imgproc\types_c.h>
#pragma comment(lib, "C:\\Users\\administered\\source\\repos\\ConsoleApplication11\\Debug\\libzbar64-0.lib")int main(int argc, char*argv[])
{zbar::ImageScanner scanner;scanner.set_config(zbar::ZBAR_NONE, zbar::ZBAR_CFG_ENABLE, 1);cv::VideoCapture capture;capture.open(0); //打开摄像头cv::Mat image;cv::Mat imageGray;std::vector<cv::Point2f> obj_location;bool flag = true;if (!capture.isOpened()){std::cout << "cannot open cam!" << std::endl;}else{while (flag){capture >> image;cv::cvtColor(image, imageGray, CV_RGB2GRAY);int width = imageGray.cols;int height = imageGray.rows;uchar *raw = (uchar *)imageGray.data;zbar::Image imageZbar(width, height, "Y800", raw, width * height);scanner.scan(imageZbar); //扫描条码zbar::Image::SymbolIterator symbol = imageZbar.symbol_begin();if (imageZbar.symbol_begin() != imageZbar.symbol_end()) //如果扫描到二维码{flag = false;//解析二维码for (int i = 0; i < symbol->get_location_size(); i++){obj_location.push_back(cv::Point(symbol->get_location_x(i), symbol->get_location_y(i)));}for (unsigned int i = 0; i < obj_location.size(); i++){cv::line(image, obj_location[i], obj_location[(i + 1) % obj_location.size()], cv::Scalar(255, 0, 0), 3);//定位条码}for (; symbol != imageZbar.symbol_end(); ++symbol){std::cout << "Code Type: " << std::endl << symbol->get_type_name() << std::endl; //获取条码类型std::cout << "Decode Result: " << std::endl << symbol->get_data() << std::endl; //解码}imageZbar.set_data(NULL, 0);}cv::imshow("Result", image);cv::waitKey(50);}cv::waitKey();}return 0;
}
注意选择debug、x64
运行截图
总结
ZBar项目涉及知识十分丰富且复杂,本次仅仅在Windows环境下对ZBar进行了安装、配置以及简单的测试和使用,后续小组将开展详细的代码分析工作。
ZBar简介及安装配置流程 | 2021SC@SDUSC相关推荐
- oracle rac war配置,Oracle RAC安装配置流程
系统部分 1.建立用户 2.设定IP 3.每个节点的IP解析 4.SSH的配置 为用户等效性配置SSH(在所有节点上执行) 在安装Oracle RAC 10g期间,OUI需要把文件复制到集群中的其他主 ...
- 【①MySQL】浅谈数据库系统:MySQL的简介与安装配置
前言 欢迎来到小K的MySQL专栏,本节将为大家带来MySQL的简介与安装配置的详细讲解~ 目录 前言 一.数据库系统概述 数据(Data) 数据库(Database) 数据库管理系统(Databas ...
- 【赵强老师】Redis简介和安装配置
先看视频. [赵强老师]Redis简介和安装配置 什么是Redis? Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串 ...
- ZBar项目简介及安装配置
2021SC@SDUSC 目录 一.ZBar介绍 二.ZBar的安装及配置(VS2019 + Zbar + OpenCV3.4.3) 三.组内分工 一.ZBar介绍 ZBar是一个开源软件套件,用于从 ...
- ZBar源码分析——image.c | 2021SC@SDUSC
2021SC@SDUSC 一.Image 模块 ZBar的工作流程在以往的博客中做过一些介绍,在前几次的博客分析中也对video input部分和image scanner部分的一些代码进行了分析.在 ...
- ZBar源码分析——video.c | 2021SC@SDUSC
2021SC@SDUSC 目录 一.Video模块 二.代码分析 三.总结 一.Video模块 我们知道,扫描时提供给ZBar的不都是静态的图片,也有可能是动态的视频.例如我们日常生活中调用的微信扫码 ...
- ZooKeeper基础知识笔记(含3节点伪分布式安装配置流程)
本笔记涉及代码:https://github.com/hackeryang/Hadoop-Exercises/tree/master/src/main/java/ZooKeeper 一.ZooKeep ...
- Git版本SVN工具简介与安装配置及使用
文章目录 SVN介绍 一.使用原理 二.安装配置SVN 1.安装Git 2.下载SVN 总结 SVN介绍 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采 ...
- django 基础安装配置流程
1.django各个版本的兼容关系: 图片来源:Django 版本和 Python 版本的对照关系_化雨随风的博客-CSDN博客_django和python版本对应 我选择的是django3.2.9版 ...
最新文章
- 使用express搭建第一个Web应用【Node.js初学】
- Windows应用程序类型和相应的入口点函数
- 使用OneHotEncoderEstimator操作Affairs
- 黑盒之嵌入式操作系统鲁棒性研究
- Exynos4412 Uboot 移植(四)—— Uboot引导内核过程分析
- 一个简单JavaAgent的实现
- linux php生产环境搭建,linux php 环境搭建
- NAR:脑疾病研究的“金牌助手”:BrainBase
- c语言中文网pdf免费下载,C语言中文网VIP教程11.9.pdf
- STK之Commu模块之仿真同步卫星与地面站通信
- 机械制图国家标准的绘图模板_JS制图:映射
- 20120912新工作感想
- 如何使用命令查看计算机sid,Sid 命令
- ​六号美术馆 基于以太坊区块链上的区块链游戏
- 北邮计算机专业的培养方案,现代邮政学院2016级专业培养方案-北京邮电大学.PDF...
- 人机工程学座椅设计_办公座椅设计中人体工程学分析
- 使用 KubeSphere 轻松实现微服务灰度发布与熔断
- mysql服务在系统盘_重装系统后恢复MySQL服务
- 福利篇:Java精品学习编程视频免费领取
- Centos修改IP