一.在window下的编译运行
1.首先要下载Microsoft Visual Studio 2010或者更高版本:对与该软件的相关配置参考《OPENCV 3》这本书;
2.下载和安装opencv3.0.0以及Zbar-0.10安装包
(1)下载
Zbar 下载:http://zbar.sourceforge.net/download.html(Zbar-0.10官网下载链接),提供了Linux、Windows等版本的下载,目前最新版本是zbar-0.10。
在opencv下载页面:http://opencv.org/downloads.html找到对应的Opencv for Windows版本下载。这里使用Version3.0.0。进入下图界面后鼠标下拉找一下3.0.0版本,点击Opencv for Windows,选择下载路径,我选的还是Zbar-0.10的下载路径。
(2)Zbar-0.10安装:
找到刚才的下载路径后双击 ,开始安装Zbar-0.10,如下图:
点击next,进入下图后勾选“DevelopmentHeadersand Libraries”:
点击next后进入下图选择安装路径:
点击install,等待安装完成之后在对应目录下出现下列文件夹,代表安装成功了.
(3)安装opencv3.0.0:(详解参考《OPENCV 3》这本书中)
下载完成之后双击“opencv-2.4.13.exe”,弹出安装(解压)对话框:
选择安装路径时使用的还是“D:\ProgramFilesD”,点击“Extract”后开始解压;
值得注意的一点是不需要在安装目录里额外建“opencv”的文件夹,OpenCV安装包解压出来的根目录就是“opencv”。
解压完之后会看到在刚刚的路径里多出了一个名为opencv的文件夹,代表安装成功::
(4)本机环境变量和路径配置:
点击开始菜单,右击计算机->属性->高级系统设置->高级->环境变量,
打开环境变量设置对话框,在系统变量里找到“Path”,点击“编辑”,如下图
加入自己的OpenCV目录和Zbar目录,我的是“D:\ProgramFileD\opencv\buile\x86\vc12\bin”
“D:\ProgramFileD\ZBar\bin”
系统变量配置完毕,点击确定就好啦。
然后:重新启动电脑。
注:变量值实际为bin文件夹的路径;D表示OpenCV安装于D盘;X64表示运行系统环境位64位系统,若安装于32位系统,应为X86;vc12表示编译环境为Microsoft Visual Studio 2013或者2015;变量添加完成后最好进行重启,这样才可以生效。
另:
vc8 = Visual Studio 2005,vc9 =Visual Studio 2008,vc10 = VisualStudio 2010,vc11 = Visual Studio 2012,vc12 = VisualStudio 2013和2015
(5)VS2010工程项目属性配置:
首先打开VS2010;
文件->新建->项目->Visual C++新建Win32控制台项目;如下图: 新建Win32控制台应用程序,工程名命名为ZbarTest,过程图就省略~
在工程ZbarTest工程的视图目录的下拉菜单中打开属性管理器:
点击下一步,再点击下一步,勾选空项目,然后点击完成;
现在进行Zbar和Opencv目录的配置:
先在源文件下建立一个.cpp源文件 命名为ZbarTest.cpp;
然后点击视图,在视图下找到其他窗口,在其他窗口下找到属性管理器,点击打开,然后便会有一个属性管理器的窗口了,接下来点开工程文件test,在Debug|Win32目录上右键单击选择“添加新项目属性表”,新建属性表,并命名为“Zbar_Debug_Setting.props“,点击“添加”,完成对项目属性表的添加。如下图:
接下来完成Zbar的VC++目录配置:
双击刚才添加的“Zbar_Debug_Setting.props“属性表,选择通用属性->VC++目录
在VC++目录->包含目录里添加1个目录: D:\ProgramFilesD\ZBar\include
选择VC++目录->库目录:
在库目录里添加1个目录:D:\ProgramFilesD\ZBar\lib
打开通用属性->链接器->输入:
在附加依赖项里添加1个依赖项:libzbar-0.lib
点击确定,完成对IDE环境的配置
如图:
选择VC++目录->库目录:
在库目录里添加1个目录: D:\ProgramFilesD\ZBar\lib:
接下来完成Opencv的VC++目录配置:
依然是找到属性管理器的窗口了,点击工程文件,
点击项目->属性->配置属性->VC++ 目录->包含目录,
添加D:\ ProgramFilesD\opencv\build\include
D:\ ProgramFilesD\opencv\build\include\opencv
D:\ ProgramFilesD\opencv\build\include\opencv2
如图:
在库目录添加:
D:\ ProgramFilesD\opencv\build\x86\vc12\lib
D:\ ProgramFilesD\opencv\build\x86\vc12\staticlib
在链接器--输入--附加依赖项添加:
opencv_ts300.lib
opencv_world300.lib
在附加依赖项里添加1个依赖项: libzbar-0.lib
完成后一定要选择“确定”
(6)环境变量配置:
打开环境变量列表,这里跟在另一篇文章里Opencv+VS2010里的配置环境变量是一样的 ,如不知道环境变量如何配置,可以查看详细步骤。
如图:
添加Zbar的动态库所在目录:D:\ProgramFilesD\ZBar\bin; 添加之后系统就不会找不到需要的dll文件了。如图:
添加完之后务必记得注销电脑后生效。
完成上述步骤,环境基本就可以使用了。
(7)测试Win10+Zbar+Opencv+VS2010的组合是否成功:
#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("K1.jpg"); //不在mian函数同文件夹要写明路径
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;
}
到处为止,就可以进入opencv world了。并且可以识别一些二维码了。