1. OpenCV3.4.1和zbar文件夹放到指定的路径下,我把它们放在了”D:\二维码\环境“中。

zbar:链接:https://pan.baidu.com/s/11eCDVHVA_R7ktQaX_l6gww 密码:ubzj

OpenCV3.4.1:链接:https://pan.baidu.com/s/1OVbLeG6qJ9aNqdF4UnFFLg 密码:460q

2. 环境变量配置:

右键“此电脑”——属性——高级系统设置——环境变量。

在系统变量中找到“Path”,编辑。

新建两个环境变量

D:\二维码\环境\opencv3.4.1\build\x64\vc14\bin

D:\二维码\环境\ZBar\bin

3. 在VS2010中新建项目。选择C++——Win32——Win32控制台应用程序,在附加选项中选择空项目。

4. 生成的项目中,在解决方案资源管理器中,右键解决方案——属性。配置属性——配置,配置选活动(Debug),平台选活动(x64)。

5. 视图——其他窗口——属性管理器。

6. 配置属性:

双击项目名——配置属性——VC++目录,在包含目录中加入:

D:\二维码\环境\ZBar\include

D:\二维码\环境\opencv3.4.1\build\include\opencv2

D:\二维码\环境\opencv3.4.1\build\include\opencv

D:\二维码\环境\opencv3.4.1\build\include

在库目录中加入:

D:\二维码\环境\ZBar\lib

D:\二维码\环境\opencv3.4.1\build\x64\vc14\lib

链接器——输入,在附加依赖项中加入:

opencv_world341d.lib

libzbar-0.lib

libzbar64-0.lib

测试代码如下,直接选择二维码图片识别,二维码是一个QRCODE,如果一幅图片上有多个二维码,也可以识别出来。该程序在网盘中,图片识别二维码。

图片识别二维码工程:链接:https://pan.baidu.com/s/1Bd-JJDarvc2yvXYQuwKPeA 密码:dyzz

#include "opencv2/opencv.hpp"
#include "zbar.h"
#include "cv.h"
#include "highgui.h"
#include <iostream> using namespace std;
using namespace zbar;
using namespace cv; int main(int argc, char** argv)
{
zbar::ImageScanner scanner;
scanner.set_config(ZBAR_NONE, ZBAR_CFG_ENABLE, );
string fileName="E:\\QR_CODE.bmp";
Mat image = imread(fileName);
double start=clock();
if (!image.data)
{
cout << "请确认图片" << endl;
system("pause");
return ;
}
Mat imageGray;
cvtColor(image, imageGray, CV_RGB2GRAY);
int width = imageGray.cols;
int height = imageGray.rows;
uchar *raw = (uchar *)imageGray.data;
Image imageZbar(width, height, "Y800", raw, width * height);
scanner.scan(imageZbar); //扫描条码
Image::SymbolIterator symbol = imageZbar.symbol_begin();
if (imageZbar.symbol_begin() == imageZbar.symbol_end())
{
cout << "查询条码失败,请检查图片!" << endl;
}
for (; symbol != imageZbar.symbol_end(); ++symbol)
{
cout << "类型:" << endl << symbol->get_type_name() << endl << endl;
cout << "条码:" << endl << symbol->get_data() << endl << endl;
string s=symbol->get_data();
}
double end=clock();
double ts=end-start;
cout<<ts<<endl; imshow("Source Image", image);
waitKey();
imageZbar.set_data(NULL, );
system("pause"); return ;
}

调用摄像头代码:

摄像头识别二维码工程:链接:https://pan.baidu.com/s/1nyl6Hj6nI9fy4rNt3I-PDA 密码:6rur

#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp> using namespace cv; int main(int argc, char** argv)
{
VideoCapture cap();//0-前置摄像头,1-后置
Mat frame; while ()
{
cap >> frame;
imshow("调用摄像头", frame);
waitKey();
}
return ;
}

用frame代替上例中的image就可以用摄像头扫描二维码了。

VS2010+OpenCV3.4.1+zbar 64位的更多相关文章

  1. 32位vs2010的项目如何在64位系统上运行

    64位注册 1. 关闭Visual Studio.2. 在Visual Studio Tools目录,以管理员身份运行Visual Studio Command Prompt (2010),[注:这个 ...

  2. OpenCV3.0.0+win10 64位+vs2015环境的下载,安装,配置

    操作系统:WIN10 pro 64 软件版本:VS2015+OpenCV3.0.0   1. 下载安装 http://opencv.org/ https://www.visualstudio.com/ ...

  3. 【OSG学习笔记之一:】OSG+VS2010+win7 64位环境搭建

    虽然出生的时候,没有说过“Hello World!”,但是自从走上了编程之路,每一次输出“Hello World!”的时候,都觉得好比中了彩票大奖似的: 仔细算算,从2012年暑假到现在,经历了3年半 ...

  4. 64位Win7系统下vs2010调试无法连接oracle

    64位win7系统的Program Files (x86)路径中有括号,oracle不认识这样的路径,所以就出现不能连接数据库的问题.所以我们可以将vs2010的内部调试web服务器WebDev.We ...

  5. win7 64位 VS2010调试提示“ORA-12154: TNS: 无法解析指定的连接标识符”的解决方法

    这个问题刚刚遇到,花了半小时,记录下 环境: vs2010[32位]  oracle 10g[32位] 操作系统:windows 7  64位 解决步骤: 1.去网上下载“instantclient- ...

  6. VS2010在WIN7 64位系统下架设网站及路由器配置

    步骤一:安装IIS 打开[控制面板]-[程序和功能],在左侧进入[打开或关闭windows功能],按照下图选择Internet信息项目下的子选项并安装: 步骤二:配置应用程序池 打开[控制面板]-[管 ...

  7. 【转】Win7下VS2010中配置Opencv2.4.4的方法(32位和64位都有效)(亲测成功)

    在vs2010下配置opencv是件痛苦的事情,一点点错误可能就会导致莫名其妙的报错,各种error让人郁闷不已,这里提供给大家一篇vs2010下配置opencv2.4.4的方法,我是64位的win7 ...

  8. 第一篇:CUDA 6.0 安装及配置( WIN7 64位 / 英伟达G卡 / VS2010 )

    前言 本文讲解如何在VS 2010开发平台中搭建CUDA开发环境. 当前配置: 系统:WIN7 64位 开发平台:VS 2010 显卡:英伟达G卡 CUDA版本:6.0 若配置不同,请谨慎参考本文. ...

  9. 64位Win7系统下vs2010调试无法连接oracle解决办法

    具体的解决办法如下: 1.先将WebDev.WebServer20.EXE和WebDev.WebServer40.EXE文件从Program Files (x86)目录中拷贝出来放到c:\dev目录中 ...

随机推荐

  1. Mahout LDA 聚类

    Mahout LDA 聚类 一.LDA简介   (一)主题模型 在主题模型中,主题表示一个概念.一个方面,表现为一系列相关的单词,是这些单词的条件概率.形象来说,主题就是一个桶,里面装了出现概率较高的 ...

  2. my project 中git使用过程(基本操作流程)

    1.g  it clone git@name:server/BM/APPS.git 则BM_APPS.git项目被下载到当前目录下了,这时git@name:server/BM/APPS.git就是自己 ...

  3. opencv读写视频,对感兴趣区域进行裁剪

    作为小码农,本人最近想对一段视频的某个区域进行处理,因此要将该段视频区域裁剪出来,搜搜网上,发现没有痕迹,是故自己琢磨一下,左右借鉴,编了如下代码,目标得以实现,希望对你有用. #include &q ...

  4. startService与bindService的区别

    转自:http://www.devdiv.com/thread-52226-1-1.html Service的生命周期方法比Activity少一些,只有onCreate, onStart, onDes ...

  5. 供应商信息全SQL

    SELECT hou.name, pv.vendor_name 供应商, pv.party_id, pvs.vendor_site_id, pvs.terms_id, pv.vendor_name_a ...

  6. UML之包图

    包图是UML中用类似于文件夹的符号表示的模型元素的组合,系统中的每个元素都只能为一个包所有,一个包可嵌套在另一个包中,使用包图可将相关元素归入一个系统,一个包中包含附属包.图表或单个元素.简单的来说, ...

  7. 算法精解:最小二乘法C实现

    计量经济学研究的直接目的是确定总体回归函数Yi=B1+B2Xi+ui,然而能够得到的只是来自总体的若干样本的观测值,要用样本信息建立的样本回归函数尽可能"接近"地去估计总体回归函数 ...

  8. Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解

    前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式--在一个独立的文件夹通过makefile配合内核源码路径完成 那么如何将驱动直接编译进内核呢? ...

  9. Android群英传笔记——第六章:Android绘图机制与处理技巧

    Android群英传笔记--第六章:Android绘图机制与处理技巧 一直在情调,时间都是可以自己调节的,不然世界上哪有这么多牛X的人 今天就开始读第六章了,算日子也刚好一个月了,一个月就读一半,这效 ...

  10. 操作系统 - 死锁(Deadlock)的概述、条件、对策

    资源 可抢占资源(preemptable resource)可以从拥有它的进程中抢占而不会产生任何副作用,存储器就是一类可抢占的资源.可抢占资源有时有潜在的死锁危险,通常可以通过在进程之间重新分配资源 ...