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. 让你的动画不再生硬 Android插值器Interpolator使用秘籍

    有木有厌烦生硬的动画效果,想不想让你的动画变得圆滑且 欢迎收看本期的走进科学... 停,停,别打了,(.﹏.*) 我错了-- 我们要达到的效果: 先来回顾一下普通动画的用法吧. * 缩放动画 Scal ...

  2. shell的字符串和数字的转化(数字自动做字符串处理,变量名做字符串输出用单引号)

    shell里面怎么样把字符串转换为数字? 例如:a="024" 1,用${{a}} 2,用let达到(()) 运算效果. let num=0123; echo $num; 83 3 ...

  3. Binder和SurfaceFlinger以及SystemServer介绍-android学习之旅(79)

    由于binder机制的存在,使得进程A可以访问进程B中的对象. Android系统Binder机制中的四个组件Client.Server.Service Manager和Binder驱动程序: 1. ...

  4. OpenCV 实现颜色直方图

    颜色直方图是在许多图像检索系统中被广泛采用的颜色特征.它所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,即无法描述图像中的对象或物体.颜色直方图特别适于描述那些难以进行自动 ...

  5. inittab文件剖析[CentOS 5.X](第二版)

    inittab文件剖析[CentOS 5.X] grep -v "^#" /etc/inittab | more #过滤掉以#开头的行 inittab文件格式 id:runleve ...

  6. 对FMDB的封装JRDB

    在自己开发中,每次用到数据库都会纠结是使用CoreData还是FMDB.CoreData虽然Api简单,但是调用栈非常复杂,要初始化一个Context需要至少20行代码.显然,对于这种这么恶心的情况, ...

  7. ITU-T Technical Paper: QoS 测量 (目标,方法,协议)

    本文翻译自ITU-T的Technical Paper:<How to increase QoS/QoE of IP-based platform(s) to regionally agreed ...

  8. 运行Myeclipse时,如何删除IVM窗口

    windows------>preference------>run/debug------->lauching--------->percpectives,改成never,n ...

  9. 苹果新的编程语言 Swift 语言进阶(八)--属性

    属性是特定类.结构或枚举的相关值,属性根据作用域不同分为实例属性与类型属性,还可以根据是否存储分为存储属性和计算属性. 1.1 实例属性 为一个类.结构或枚举定义的属性默认属于实例属性,即该属性属于为 ...

  10. 数据结构---队列C语言实现

    #include <stdio.h> #include <stdlib.h> //队列大小 #define SIZE 1024 static int queue[SIZE] = ...