1.公司share里拖来现成的VS2010 【en_visual_studio_2010_ultimate_x86_dvd_509116.iso】
2.右键解压
3. 自动安装好VS2010
4. 官网下载opencv2.4.9,下下来的是一个
5.直接安装好,我是装到了D:\Program Files\opencv
6.配置环境变量
点编辑,在一长串Path的末尾加上Opencv需要的:
D:\Program Files\opencv\build\x64\vc10\bin
D:\Program Files\opencv\build\x86\vc10\bin
根据你Opencv安装的目录来调整D:\Program Files\这样把32位和64位的都加好。
加完之后注销系统,保证环境变量生效。
7.针对没用过VS的人(比如我)
新建一个项目,选C++, 32 console win application
取好名字点确定,下一步,选空项目,完成创建一个普通的项目。
然后在Resource Files里 add new item 加一个Main.cpp
8.配置属性管理器里的东西!这个属性管理器很重要要不停的打开。
属性管理器是view 里的 property manager
打开后刚SolutionExplorer就会被覆盖成这样
展开,Microsoft.cpp.win这个打开。
Include Directories里点edit:
下图上框的三行打进去,不要手打容易出错,进入对应目录里复制
Library Directories用同样方式打开:
下图上框的一行打进去,不要手打容易出错,进入对应目录里复制
10.链接库的配置
还是属性管理器
把这段粘进去
opencv_ml249d.lib
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_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.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
其实我觉得这里埋了个坑,后面说。先这样配着把。
11.把D:\Program Files\opencv\build\x86\vc10\bin里的所有.dll复制到C:\Windows\SysWOW64\里
这步在windows文件下下加入opencv动态链接库
12.实例测试:
刚刚的main.cpp里
#include
using namespace cv;
int main(){
Mat img = imread("1.jpg");
imshow("loadimg",img);
waitKey(6000);
}
简单的读取一张图片并显示。
嗯??这样就完了,当然不是,坑从这里开始!
错误1:
OpenCV Error: Assertion Failed (size.width>0 && size.height>0) in cv:imshow file
网上的解决方案五花八门说不清白,着实令我怨念了一把。
首先要检查一下代码里的1.jpg有没有放在该放的目录下!
相对路径是和main.cpp在同一级的,意味着对于这个代码来说,1.jpg应该在Main.cpp旁边。
我之前就是放外了一层。
有人说这样做了还是不行。
这就是之前说的那个坑了,所有的教程都教我们把上面那一长串.lib粘进去,按先d后没d的顺序粘。
针对test1:右键打开property,
Configuration Debug模式下,Additional Dependencies只能有所有以249d.lib结尾的,这个d代表的就是debug, 不能像之前说的那样,先d后不d一股脑丢进去。
Configuration release模式下,Additional Dependencies 只有所有以249.lib结尾的,这个没d的就是release模式该用的。
就这样把一长串分成了两截分别配置到了某个模式下之后,上面的小程序终于跑了起来
主要就是那两个问题,因为看了一堆五花八门的解法,想来还是将自己亲测能用的方法记录下来。
mentor要我珍爱生命,远离windows。然后不想天天背自己电脑啊╭(╯^╰)╮!只好死磕windows了!