文档章节

Win10操作系统下配置OpenCv以及Zbar-VS2012

yylea
 yylea
发布于 2016/12/24 09:37
字数 1639
阅读 580
收藏 0
点赞 0
评论 0


1.前期准备

系统环境:Win10

ZBar版本:zbar-0.10 

http://download.csdn.net/detail/chenjifeng1987/9598568

OPenCV版本:opencv-2.4.13

OpenCV官网的下载页面: http://opencv.org/downloads.html   

找到对应OpenCV for Windows版本下载。

Version 3.1.0只有64位的开发包,还没支持32位的编译环境,这里使用Version 2.4.13。

VS2012:官方旗舰版

http://download.microsoft.com/download/B/0/F/B0F589ED-F1B7-478C-849A-02C8395D0995/VS2012_ULT_chs.iso 

激活序列号,请输入:YKCW6-BPFPF-BT8C9-7DCTH-QXGWC

2.程序安装

2.1.VS2012安装

打开安装程序一路走就OK,注意的是安装时间比较长,大概要两三个小时。就算安装路径改成了其他盘符,C盘还是会占用大约6个G的容量。

2.2.ZBar安装

双击zbar-0.10-setup.exe,开始安装Zbar,其实就是对安装包的解压缩,如下图:

 

勾选“Development Headers and Libraries”:

 

选择安装路径:请记住自己的安装路径,之后的配置需要进入安装路径。我这里的路径是“G:\Program Files (x86)\ZBar\”

 

 

安装完成之后在对应目录下出现下列文件夹,代表安装成功了:

 

2.3.安装OpenCV

下载完成之后双击“opencv-2.4.13.exe”,弹出安装(解压)对话框:

 

选择安装路径,这里使用的是“G:\Program Files (x86)”,点击“Extract”后开始解压;

值得注意的一点是不需要在安装目录里额外建“opencv”的文件夹,OpenCV安装包解压出来的根目录就是“opencv”。

3.本机环境变量和路径配置

3.1.打开系统环境变量

我使用的是WIN10的系统,可以直接在任务栏输入环境变量,找到编辑系统环境变量按钮。

 

打开后,点击环境变量

 

3.2.配置用户变量及其PATH

在【用户变量】里新建变量OpenCV,变量值:为OpenCv安装路径的build目录。

 

在【用户变量】里编辑变量path,变量值:..opencv\build\x86\vc11\bin;

【注意!】一定要在编辑界面新建,否则会覆盖电脑上原来配置好的用户变量。覆盖原来的用户变量会导致电脑的任务栏按钮失灵、开始菜单快捷方式点选时无反应等问题,更严重的情况会导致无法开机等问题。(我就遇到了这个坑T_T ... )

  

同理配置ZBar的用户变量和path:

在这里可能有人会有疑问:编译器是VS2012,变量值不应该是XX\vc12\bin吗?注意,在OpenCV配置中,vc11即对应VS2012,vc12对应的是VS2013。

另一点要关注的是上述变量值到底应该是x86还是x64?这里x86还是x64的选择跟你的电脑是32位还是64位无关,vs2012编译环境默认的使用win32编译器,所以选择x86。

3.3.配置系统变量

在【系统变量】里编辑(或添加)Path变量,变量值为安装路径下的\opencv\build\x86\vc11\bin,和ZBar安装路径下的bin目录..\ZBar\bin。

  

注意要使用英文输入下的分号和前面已有的路径分开,千万不能覆盖原来的变量!添加完之后需要重启或注销计算机,环境变量才会生效。道理同用户变量path。

3.VS2012工程项目属性配置

3.1添加属性表

新建Win32控制台应用程序,工程名命名为ZbarTest,过程图就省略~

在工程ZbarTest工程的视图目录的下拉菜单中打开属性管理器:

 

在属性管理器的Debug|Win32目录上单击选择“添加新项目属性表”,新建属性表,并命名为“Zbar_Debug_Setting.props“,如下图所示:

 

点击添加,完成对项目属性表的添加。

同理,添加OpenCV_DebutSetting,如下图。

 

3.2.Zbar属性表配置

1) VC++目录配置

双击刚才添加的“Zbar_Debug_Setting.props“属性表,选择通用属性->VC++目录:

在VC++目录->包含目录里添加1个目录: 安装路径ZBar\include

 

选择VC++目录->库目录,在库目录里添加1个目录: 安装路径\ZBar\lib

 

2)输入目录配置

打开通用属性->链接器->输入:

 

在附加依赖项里添加1个依赖项: libzbar-0.lib

 

3.3.OpenCV属性表配置

同理,双击刚才添加的“Zbar_Debug_Setting.props“属性表 配置OpenCV 属性表。

1)选择通用属性->VC++目录,在包含目录里添加3个目录:

D:\ProgramFilesD\opencv\build\include\opencv2

D:\ProgramFilesD\opencv\build\include\opencv

D:\ProgramFilesD\opencv\build\include

 

2)同样在VC++目录下,在库目录里添加1个目录:

...\opencv\build\x86\vc11\lib

 

3)选择通用属性->链接器->输入->附加依赖项,在附加依赖项里添加库文件:

opencv_ml2413d.lib

opencv_calib3d2413d.lib

opencv_contrib2413d.lib

opencv_core2413d.lib

opencv_features2d2413d.lib

opencv_flann2413d.lib

opencv_gpu2413d.lib

opencv_highgui2413d.lib

opencv_imgproc2413d.lib

opencv_legacy2413d.lib

opencv_objdetect2413d.lib

opencv_ts2413d.lib

opencv_video2413d.lib

opencv_nonfree2413d.lib

opencv_ocl2413d.lib

opencv_photo2413d.lib

opencv_stitching2413d.lib

opencv_superres2413d.lib

opencv_videostab2413d.lib

 

 

至此,VS2012环境下配置OpenCV2.4.13和ZBar的工作已经全部完成了,对于之后创建的OpenCV工程,只需要添加本工程的属性配置即可,不再需要一步一步重复配置。

【方法】:首先保存本工程的属性配置文件OpenCV_Debug_Setting.props到备用文件夹,该属性配置文件在本项目中的路径是:

...Visual Studio 2012\Projects\ZbarOpenCvTest\ZbarOpenCvTest

 

之后在新创建的工程中,在属性管理器中添加OpenCV_Debug_Setting.props属性表即可。

同理:之后在新创建的工程中,在属性管理器中添加ZBar_Debug_Setting.props属性表即可。

4.测试代码

4.1 OpenCV测试代码

#include <iostream>  
#include<core/core.hpp>  
#include<highgui/highgui.hpp>  
  
  
using namespace cv;  
using namespace std;  
int main()  
{  //读入图片,注意图片路径  
Mat image=imread("F:\\Picture\\lena.png");  
  
  
//图片读入成功与否判定  
if(!image.data)  
{  
cout<<"you idiot!where did you hide lena!"<<endl;  
  
  
//等待按键  
system("pause");  
return -1;  
}  
  
  
//创建一个名字为“Lena”的图像显示窗口,(不提前声明也可以)  
namedWindow("Lena",1);  
  
  
//显示图像  
imshow("Lena",image);  
  
  
//等待按键  
waitKey();  
return 0;  
}  

 

测试结果:会显示代码指定目录下的lena图片

 

4.2.Zbar测试代码

 

#include "zbar.h"        
#include "cv.h"        
#include "highgui.h"        
#include <iostream>        
    
using namespace std;        
using namespace zbar;  //添加zbar名称空间      
using namespace cv;        
    
int main(int argc,char*argv[])      
{        
    ImageScanner scanner;        
    scanner.set_config(ZBAR_NONE, ZBAR_CFG_ENABLE, 1);      
    Mat image = imread("code.jpg");    
      if(!image.data)  
        {  
           cout<<"请确认图片"<<endl;  
           system("pause");  
           return 0;  
        }  
    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;         
    }        
    imshow("Source Image",image);          
    waitKey();      
    imageZbar.set_data(NULL,0);    
    return 0;    
}      

测试结果:

 

注意,图片应存放在生成的.exe目录下。

 

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
yylea
粉丝 1
博文 1
码字总数 1639
作品 0
成都
python使用Zbar实现二维码/条形码检测识别流程

1、Zbar库安装: windows 10 上安装zbar(python) OpenCV+ZBar实现条码识别(Windows32位和64位) Win10x64+Zbar0.10+VS2015+Opencv3.0.0 https://sourceforge.net/projects/zbar/files/lates......

yongwan5637 ⋅ 05/31 ⋅ 0

OPenCV 的安装,环境配置(Windows平台)

1、在官网下载opencv,链接:http://opencv.org/,下载至某盘(推荐D),下载后点击,如下: 随后弹出一个提示框,可不用管它,等一段时间,会解压出一个OpenCV文件夹,其中有如下几个文件: ...

weixin_40647819 ⋅ 04/14 ⋅ 0

为Visual Studio配置OpenCV

配置的环境是: Windows 8, Visual Studio 2012 openCV_2.47 下面开始详细地讲解整个配置的过程: 步骤1: 首先需要下载openCV,这是Sourceforge的链接:http://sourceforge.net/projects/ope...

Comma_H ⋅ 05/14 ⋅ 0

Ubuntu上交叉编译opencv及opencv_contrib并移植到ARM板之一

零、环境准备: 编译环境:Ubuntu-14.04 交叉编译工具链:arm-linux-gnueabi-4.5.1 目标机器:粤嵌GEC210开发板S5PV210(Cortex-a8) opencv库:opencv-3.2.0(源码),解压至某一目录 open...

qq_30155503 ⋅ 04/18 ⋅ 0

OpenCV使用CMake和MinGW的编译安装及其在Qt配置运行

软件环境 Windows-10-64bit Qt-5.9.3 MinGW-5.3.0-32bit CMake-3.9.2 OpenCV-3.3.1 / 3.4.1(适用) 编译好的 OpenCV(MinGW 版): Github . huihut/OpenCV-MinGW-Build OpenCV 的 MSVC 版及 ......

数据为王 ⋅ 05/21 ⋅ 0

Ubuntu上交叉编译opencv及opencv_contrib并移植到ARM板之二

按照上篇之一的进度,已经编译及安装好了opencv库及opencv_contrib扩展库。 安装好库之后,无非就还有两件事要做:1、配置环境 2、实例编译 3、移植至开发板 一、环境配置 说明:pkg-config是...

qq_30155503 ⋅ 04/19 ⋅ 0

Python黑科技:50行代码运用Python+OpenCV实现人脸追踪+详细教程+快速入门+图像识别+人脸识别+大神讲解

嗨,我最亲爱的伙计们,很高兴我们又见面了。 首先先感谢朋友们的关注。当然我更希望认识与计算机相关的领域的朋友咱们一起探讨交流。重点说一下,我是真人,不是那些扒文章的自媒体组织,大...

雁横 ⋅ 04/29 ⋅ 0

Window下yolov3的配置教程

下载 yolo官网:https://pjreddie.com/darknet/yolo/ darknet-windows代码下载:https://github.com/AlexeyAB/darknet(墙裂推荐看里面的README,里面有一些使用教程) 配置环境: Visual Stu...

wang_jiankun ⋅ 05/25 ⋅ 0

1.5OpenCV官方示例学习

OpenCV官方示例   OpenCV作为一个在全球使用人数众多的计算机视觉库,官方已经准备了大量的示例程序,供大家学习。官方提供的示例代码具体位于…opencvsourcessamples目录下,如下图所示:...

webzhuce ⋅ 05/27 ⋅ 0

图片人脸检测(OpenCV版)

图片人脸检测 人脸检测使用到的技术是OpenCV,上一节已经介绍了OpenCV的环境安装,点击查看. 功能展示 识别一种图上的所有人的脸,并且标出人脸的位置,画出人眼以及嘴的位置,展示效果图如下...

vipstone ⋅ 05/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

磁盘管理—逻辑卷lvm

4.10-4.12 lvm 操作流程: 磁盘分区-->创建物理卷-->划分为卷组-->划分成逻辑卷-->格式化、挂载-->扩容。 磁盘分区 注: 创建分区时需要更改其文件类型为lvm(代码8e) 分区 3 已设置为 Linu...

弓正 ⋅ 19分钟前 ⋅ 0

Spring源码解析(六)——实例创建(上)

前言 经过前期所有的准备工作,Spring已经获取到需要创建实例的 beanName 和对应创建所需要信息 BeanDefinition,接下来就是实例创建的过程,由于该过程涉及到大量源码,所以将分为多个章节进...

MarvelCode ⋅ 39分钟前 ⋅ 0

a href="#"

<a href="#">是链接到本页,因为你有的时候需要有个链接的样式,但是又不希望他跳转,这样写,你可以把这个页面去试试

颖伙虫 ⋅ 46分钟前 ⋅ 0

js模拟栈和队列

栈和队列 栈:LIFO(先进后出)一种数据结构 队列:LILO(先进先出)一种数据结构 使用的js方法 1.push();可以接收任意数量的参数,把它们逐个推进队尾(数组末尾),并返回修改后的数组长度。 2....

LIAOJIN1 ⋅ 46分钟前 ⋅ 0

180619-Yaml文件语法及读写小结

Yaml文件小结 Yaml文件有自己独立的语法,常用作配置文件使用,相比较于xml和json而言,减少很多不必要的标签或者括号,阅读也更加清晰简单;本篇主要介绍下YAML文件的基本语法,以及如何在J...

小灰灰Blog ⋅ 55分钟前 ⋅ 0

IEC60870-5-104规约传送原因

1:周期循环2:背景扫描3:自发4:初始化5:请求6:激活7:激活确认8:停止激活9:停止激活确认10:激活结束11:远程命令引起的返送信息12:当地命令引起的返送信息13:文件传送20:响应总召...

始终初心 ⋅ 今天 ⋅ 0

【图文经典版】冒泡排序

1、可视化排序过程 对{ 6, 5, 3, 1, 8, 7, 2, 4 }进行冒泡排序的可视化动态过程如下 2、代码实现    public void contextLoads() {// 冒泡排序int[] a = { 6, 5, 3, 1, 8, 7, 2, ...

pocher ⋅ 今天 ⋅ 0

ORA-12537 TNS-12560 TNS-00530 ora-609解决

oracle 11g不能连接,卡住,ORA-12537 TNS-12560 TNS-00530 TNS-12502 tns-12505 ora-609 Windows Error: 54: Unknown error 解决方案。 今天折腾了一下午,为了查这个问题。。找了N多方案,...

lanybass ⋅ 今天 ⋅ 0

IDEA反向映射Mybatis

1.首先在pom文件的plugins中添加maven对mybatis-generator插件的支持 ` <!-- mybatis逆向工程 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-ma......

lichengyou20 ⋅ 今天 ⋅ 0

4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例

准备磁盘分区 fdisk /dev/sdb n 创建三个新分区,分别1G t 改变分区类型为8e 准备物理卷 pvcreate /dev/sdb1 pvcreate /dev/sdb2 pvcreate /dev/sdb3 pvdisplay/pvs 列出当前的物理卷 pvremo...

Linux_老吴 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部