该暑假开始打算学习opencv,并为了以后自己查看学习过程中个人总结和遇到的一些问题就开始在CSDN博客上记录。希望以后对自己有所帮助。
关于Opencv的学习,以前我常使用的C开发环境是VC++6.0,在查看了一些关于Opencv的资料后,发现大多数使用的时VS来进行开发,故也跟随大流下载VS来进行开发。
注意VS版本与opencv版本的匹配要求。建议下载opencv然后根据opencv可以使用的VS版本来下载VS的版本,具体VS的版本可通过下载完成的OPENCV的文件夹内容来判断,具体方法如下:找到已经下载解压后的opencv'的文件夹位置D:\OpenCV\opencv249\opencv\build\x86或者D:\OpenCV\opencv249\opencv\build\x64(俩个路径仅仅时最后的恶位置不同一个代表32位系统(x86)一个代表64位系统(x64),系统选择后续会有讲解)看到文件夹,每一个文件夹代表可选择的VS版本(vc8等同于VS2005,vc9等同于vs2008,vc10等同于vs2010,vc11等同于vs2012,vc12等同于vs2013后续可自行查询)。由此便可以选择合适的vs的版本。
OPENCV的下载,https://sourceforge.net/projects/opencvlibrary/
点击browse all files(上图右下角)
在window系统下安装选择opencv_win可查看windows下opencv的各个版本。我选择下载了2.4.9版本。下载完成后双击.exe文件后选择路径进行解压安装即可。
然后根据前面vs版本的选择方法,在我的安装文件D:\OpenCV\opencv249\opencv\build\x86下可看到vc10,vc11,vc12三个文件夹,不同版本的opencv文件夹可能会不同。
根据vc10我选择了vs2010,之后的vs工程库的选择则需要选择vc10中,后续将介绍。
VS的下载 :网上搜索VS2010即可有相关下载,下载后安装即可。到此软件的下载即可完成。接下来时配置问题。
配置第一步:配置环境变量
配置计算机的环境变量,计算机->属性->高级系统配置->环境变量->系统变量中的path,添加相应路径即可。(windows系统不同环境变量的查询方法可能不同,可百度)。
32位系统无疑添加“........opencv\build\x86\vc10\bin”(根据安装路径)笔者的是“D:\OpenCV\opencv249\opencv\build\x86\vc10\bin”(有可能下载的opencv中x86(即无32位的)只能更换opencv的版本)。
64位系统,vs若是32位编译,添加“........opencv\build\x86\vc10\bin”(根据安装路径)若是64位便宜“........opencv\build\x64\vc10\bin”(根据安装路径)。
(建议32位)
配置第二步:工程包含(include)目录配置
打开vs:文件->新建->项目->w32控制台程序(填写文件名)->确定->下一步->勾选空白页-
在解决方案资源管理器(软件界面左边)->源文件->添加->新建项->c++文件(.cpp)(命名如:main)->添加
菜单栏->视图->属性管理器->展开Debug|Win32(若安装32位)->Microsoft.Cpp.Win32.userDirectories->(右键)属性->通用属性->vc++目录->包含目录->添加如下三个目录:
D:\OpenCV\opencv249\opencv\build\include
D:\OpenCV\opencv249\opencv\build\include\opencv
D:\OpenCV\opencv249\opencv\build\include\opencv2
配置第三步:工程库lib目录的配置
菜单栏->视图->属性管理器->展开Debug|Win32(若安装32位)->Microsoft.Cpp.Win32.userDirectories->(右键)属性->通用属性->vc++目录->库目录->添加:
D:\OpenCV\opencv249\opencv\build\x86\vc10\lib(注意x86(和配置的第一步对应)和vc10(和下载的vs版本对应))
配置第四步:链接库的配置
菜单栏->视图->属性管理器->展开Debug|Win32(若安装32位)->Microsoft.Cpp.Win32.userDirectories->(右键)属性->通用属性->连接器->输入->附加依赖项->添加:
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
opencv_nonfree249.lib
opencv_objdetect249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_videostab249.lib
我使用的opencv版本时2.4.9故上述添加项种均为249 若版本为2.4.8上述添加项改为248的。
若时opencv3版本的只需添加openc_ts300d.lib和opencv_world300d.lib即可
这里所添加的添加项为下载的opencv:D:\OpenCV\opencv249\opencv\build\x86\vc10\lib中的.lib的文件。有d 结尾的为debug下所用的 无d 结尾的时release下使用的。
至此安装完成可测试:
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img=imread("1.jpg");//注意图片应放在该工程文件的正确位置下即工程文件夹含有main函数的那个文件夹下
imshow("图片",img);
waitkey(6000);
}
若出现:计算机丢失opencv_core248d.dll.尝试重新安装该程序以解决此问题 的提示。重启后再尝试。
若时64位系统安装的时x86的,计算机出现x86与目标计算机不匹配的提示 可尝试
菜单栏->视图->属性管理器->展开Debug|Win32(若安装32位)->Microsoft.Cpp.Win32.userDirectories->(右键)属性->通用属性->连接器->高级->目标计算机选择->MachineX86 (/MACHINE:X86)
祝好运有问题可提问