vs2022下配置zxing cpp环境

news2024/12/23 20:50:51

生成zxing

下载zxing,zxing-cpp-master
https://github.com/zxing-cpp/zxing-cpp

Cmake生成项目,点Generate,把OpenCV_DIR修改了,NameValue没有报红就点Generate。然后点Open Project打开项目。
在这里插入图片描述
打开项目后,右击解决方案属性页,勾选后再生成解决方案。
在这里插入图片描述
在这里插入图片描述
全部生成成功后,新建一个文件夹zxing-cpp,下面有include和lib文件夹,include下再放个zxing文件夹。
在这里插入图片描述
在这里插入图片描述

复制D:/zxing-cpp-master-build/core/Debug/ZXing.lib到D:\zxing-cpp\lib文件夹下。
复制D:\zxing-cpp-master\core\src下的所有文件到D:\zxing-cpp\include\zxing文件夹下。

配置项目

新建一个项目,配置属性页
C++ ->常规-> 附加包含目录 D:\zxing-cpp\include
链接器 ->常规 -> 附加库目录 D:\zxing-cpp\lib
链接器 ->输入-> 附加依赖项 ZXing.lib
复制D:\zxing-cpp-master-build\core\Debug\ZXing.dll到 自己项目的Debug目录下( …\TestZxing\x64\Debug)。

测试代码

已有opencv、zxing的环境下:

#include <opencv2/opencv.hpp>
#include <zxing/ReadBarcode.h>

using namespace ZXing;
using namespace cv;
struct decodeResStruct {
	Point pt1, pt2, pt3, pt4;
	String strQRDecode;
	decodeResStruct() {

	}
	decodeResStruct(Point pt1_, Point pt2_, Point pt3_, Point pt4_, String strQRDecode_) {
		pt1 = pt1_;
		pt2 = pt2_;
		pt3 = pt3_;
		pt4 = pt4_;
		strQRDecode = strQRDecode_;
	}
};

std::vector<decodeResStruct> resDecoded;//结果集

int main() {
	Mat src = imread("D:/test.bmp");
	auto fmt = ImageFormat::None;
	switch (src.channels()) {
	case 1: fmt = ImageFormat::Lum; break;
	case 3: fmt = ImageFormat::BGR; break;
	case 4: fmt = ImageFormat::BGRX; break;
	}
	ZXing::DecodeHints hints;
	ZXing::BarcodeFormats format = BarcodeFormat::QRCode;
	hints.setFormats(format);

	ImageView image{ src.data, src.cols, src.rows, fmt};
	ZXing::Results z_results = ReadBarcodes(image, hints);

	for (auto&& result : z_results) {
		const ZXing::Position pos = result.position();
		Point pt1 = { (int)pos[0].x,(int)pos[0].y };
		Point pt2 = { (int)pos[1].x,(int)pos[1].y };
		Point pt3 = { (int)pos[2].x,(int)pos[2].y };
		Point pt4 = { (int)pos[3].x,(int)pos[3].y };
		decodeResStruct stru = decodeResStruct{ pt1, pt2, pt3, pt4, result.text()};
		resDecoded.push_back(stru);
	}

	for (auto one : resDecoded) {
		line(src, one.pt1, one.pt2, Scalar(0, 255, 0), 2);
		line(src, one.pt2, one.pt3, Scalar(0, 255, 0), 2);
		line(src, one.pt3, one.pt4, Scalar(0, 255, 0), 2);
		line(src, one.pt4, one.pt1, Scalar(0, 255, 0), 2);
		putText(src, one.strQRDecode, one.pt1, 0, 0.5, Scalar(255, 0, 0), 2);
	}
	imshow("res", src);
	waitKey();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/442436.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

赋值法写基础解系中解向量

赋值法写基础解系中解向量 &#xff08;一&#xff09;背景引入 通常解方程组时&#xff0c;将系数矩阵化为行阶梯型&#xff0c;进而可化为行最简型 &#xff08;说一嘴&#xff1a;行最简型是指阶梯口元素全是1&#xff0c;该1所在列全其余全为0&#xff1b;广义行阶梯的阶梯…

maven作用讲解---以及怎么配置阿里的maven镜像

目录 Maven介绍 传统的java项目的结构和maven的对比 传统 Maven的项目 如何配置阿里 maven 2. 修改 Maven介绍 传统的java项目的结构和maven的对比 传统 Maven的项目 如何配置阿里 maven (1) 把 D:\program\JavaIDEA 2020.2\plugins\maven\lib\maven3\conf\settings.xml…

DNS服务

DNS服务 使用背景 在日常生活中人们习惯使用域名访问服务器&#xff0c;但机器间互相只认IP地址&#xff0c;域名与IP地址之间是多对一的关系&#xff0c;一个ip地址不一定只对应一个域名&#xff0c;且一个完整域名只可以对应一个ip地址&#xff0c;它们之间的转换工作称为域…

锐捷常用命令

所有交换机和无线控制器开启SSH服务&#xff0c;用户名密码分别为admin、admin1234&#xff1b;密码为明文类型,特权密码为admin 以S5为例&#xff1a; S5(config)#enable service ssh-server S5(config)#username admin password admin123 S5(config)#line vty 0 4 S5(co…

【C++ 十】STL基本概念、STL六大组件、STL容器、STL算法、STL迭代器

STL 的诞生、STL 基本概念、STL 六大组件、STL 容器、STL 算法、STL 迭代器 文章目录 STL 的诞生、STL 基本概念、STL 六大组件、STL 容器、STL 算法、STL 迭代器前言1 STL 的诞生2 STL 基本概念3 STL 六大组件4 STL 中容器、算法、迭代器5 容器算法迭代器初识5.1 vector 存放内…

vue2数据响应式原理(4) 递归侦测对象所有属性,解密vue响应式对象__ob__是干什么的

我们上文写的这个方法 并不能很好的侦测对象所有的属性 或者说 不能比较简介的侦测所有属性 在实际业务中 对象里面套对象 也不是什么很少见的事 例如这样 这种 我们用上一种方法 就很麻烦了 所以 我们需要了解新的方法 要完成完整的属性监听 我们就需要一个工具类 这个类的…

js+css实现简单的弹框动画

效果图 只是一个简单的演示demo&#xff0c;但是可以后面可以优化样式啥的 刚开始元素的display为none&#xff0c;然后&#xff0c;为了给元素展示时添加一个动画&#xff0c;首先要添加样式类名show&#xff0c;让它覆盖display:none&#xff0c;变得可见。然后&#xff0c;添…

Day951.认知负载 -遗留系统现代化实战

认知负载 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于认知负载的内容。 一、怎样理解认知负载&#xff1f; 作为开发人员&#xff0c;不管是不是工作在遗留系统上&#xff0c;一定面临过来自业务方或项目经理的灵魂拷问&#xff1a; 为什么这个需求这么简单&…

车载网络 - Autosar网络管理 - 跳转状态

四、Autosar网络管理跳转状态 网络模式对应报文状态 Autosar网络管理报文各个状态对应的网络管理报文和应用报文的发送和接收状态。 网络模式 网络管理报文 应用报文 收发类型 发送报文 接收报文 发送报文 接收报文 总线睡眠模式(BSM) No Yes No NA 准备总线睡眠模…

探索Whisper语音识别

问题一&#xff1a;python多版本切换 背景&#xff1a;有了anaconda环境 还有一个c盘的不知道什么东西 我准备下载一个python3.9.9 去官网 然后安装&#xff0c;安装之前一定要把原来的python卸载干净。 3.9.9安装不上&#xff0c;我用3.10 切换的话&#xff0c;就是去环境…

总结828

学习目标&#xff1a; 4月&#xff08;复习完高数18讲内容&#xff0c;背诵21篇短文&#xff0c;熟词僻义300词基础词&#xff09; 学习内容&#xff1a; 暴力英语&#xff1a;回环诵读之前的文章&#xff0c;背150个单词&#xff0c;背《冰与火之歌》-守夜人誓词 高等数学&…

《Effective C++》读书笔记(二):构造/析构/赋值运算(条款05~条款12)

目录 1. 条款05&#xff1a;了解C默默编写并调用哪些函数 2. 条款06&#xff1a;若不想使用编译器自动生成的函数&#xff0c;就该明确拒绝 3. 条款07&#xff1a;为多态基类virtual析构函数 4.条款08&#xff1a;别让异常逃离析构函数 5.条款09&#xff1a;绝不在构造和析…

Vue CLI 服务

使用命令 在一个 Vue CLI 项目中&#xff0c;vue/cli-service 安装了一个名为 vue-cli-service 的命令。你可以在 npm scripts 中以 vue-cli-service、或者从终端中以 ./node_modules/.bin/vue-cli-service 访问这个命令。 这是你使用默认 preset 的项目的 package.json&…

2023红明谷杯部分WP

0x00 签到 一直点就能得到flag 0x01 Dreamer 拿到题感觉有点儿懵 先下发靶机看一眼 梦想家CMS&#xff0c;好嘛&#xff0c;我直接一手查找官网 直接一手演示中心碰运气 哎嘿嘿&#xff0c;运气不错进去了&#xff0c;突然想起之前有位大佬写的关于Dreamer CMS的代码审…

【Linux网络设置】

目录 一、查看网络接口信息1.1、查看所有活动的网络接口信息1.2、查看指定网络接口信息 二、查看主机名称2.1、hostname命令2.2、永久设置主机名 三、查看路由表条目route命令 四、查看网络连接情况4.1、netstat命令4.2、ss命令 五、测试网络连接ping命令 6、跟踪数据包tracerr…

CorelDRAW2023最新版本配置及新功能介绍

从简单的线框到令人称叹的水平&#xff0c;使用CorelDRAW Graphics Suite 2023开始您的设计之旅&#xff1a;一套完整的专业图形设计应用程序&#xff0c;用于矢量插图、布局、照片编辑等。CorelDRAW平面设计软件通常也被叫做CDR&#xff0c;CDR广泛应用于排版印刷、矢量图形编…

关于电脑出厂时间查询工具的构思

在做一个单位的计算机盘点、管理的时候&#xff0c;很容易遇见需要知道电脑的采购时间&#xff0c;或者出厂时间。这个信息能够帮助管理人员决定电脑是否该按定期报废制度进行报废或更换。 目前为止&#xff0c;作者接触过的各类电脑&#xff0c;没有看到过哪台电脑有专门的一…

windows系统中安装目标检测平台detectron2

更多内容&#xff0c;欢迎访问老五笔记 detectron2是Facebook研发并开源的目标检测平台&#xff0c;包含了大量业内最具代表性的目标检测、图像分割、关键点检测算法等。Detectron2基于新版的Pytorch进行更新&#xff0c;包含了更大的灵活性与扩展性。​ 笔者将在本文中介绍如…

IS220UCSAH1A利用电子和空穴两种载流子导电的,所以叫做双极型电路

IS220UCSAH1A利用电子和空穴两种载流子导电的&#xff0c;所以叫做双极型电路 美国的通用电气公司&#xff08;General Electric Company&#xff0c;以下简称 GE&#xff09;想要称霸整个工业互联网&#xff0c;但却失败了。为什么呢&#xff1f; 多年来&#xff0c;GE 一直在…

关于CSDN文章内嵌视频自动播放问题

关于CSDN文章内嵌视频自动播放问题 1. 源由2. 分析3. 反馈4. 沟通5. 总结6. 附录-Firefox配置7. 附录-Microsoft Edge配置 1. 源由 这个问题是4月初发现的&#xff0c;主要现象就是页面上的视频一起自动播放了。 鉴于笔者有不少帖子都是文字、表格、图片、视频结合的。视频是…