别问我为什么记录这么老的版本,问就是因为老师推荐和因为怕自己再次把小米的搜索框给忘记了,又找个好几十分钟的【环境变量】。
另外,要敲敲自己的脑袋,作为小米电脑的老用户怎么可以把搜索框给忘记了呢?
第一步:下载opencv并Extract
在http://www.opencv.org.c下载与vs2012相匹配的vc11,双击vc11并【Extract】,得到opencv的文件夹。
第二步:环境变量配置
小米电脑:
1)在【此电脑】->【属性】找不到【环境变量】(总之,我找了半天没找到),
因此需要在电脑左下角的搜索栏搜索【查看高级系统设置】(点击进入)。
2)点击【环境变量】
3)“双击”系统变量中的Path->在变量中添加相应路径。
32位系统添加:
…… opencvbuildx86vc10bin”
64位系统,可以两个都添加:
…… opencvbuildx86vc10bin”
…… opencvbuildx64vc10bin”
注:大多数windows系统在【计算机】(右键)->【属性】->【高级系统设置】里就能直接找到【环境变量】,其余步骤同上,在这里我就不多说了。
第三步:新建.cpp文件
1)打开visual studio2012,【新建】->【项目】->【Win32控制台应用程序】->【确定】
2)【下一步】
3)勾选【空项目】->【完成】
4)在“解决方案资源管理器”的【源文件】(点击右建)->【添加】->【新建项】,选择“C++文件(.cpp)”并命名->【添加】。
第四步:工程包含目录的配置
1)点击【视图】->【其他窗口】->【属性管理器】
2)点击【Debug|Win32】->双击【Microsoft.Cpp.Win32.user】,即可打开属性页。
3)在【通用属性】 ->【VC++目录】 ->【包含目录】中添加
D:Program Filesopencvbuildinclude
D:Program Filesopencvbuildincludeopencv
D:Program Filesopencvbuildincludeopencv2
(具体路径看自己将opencv解压在哪)
4)在【通用属性】 ->【VC++目录】 ->【库目录】中添加
D:Program Filesopencvbuildx86vc10lib
5)在【通用属性】 ->【链接器】->【输入】->【附加的依赖项】
这里看自己的情况而定(我最后将子文件夹中的带“d.lib"的手动输入了进去)
opencv_ml249d.lib;
opencv_calib3d249d.lib;
opencv_contrib249d.lib;
opencv_core249d.lib;
opencv_gpu249d.lib;
opencv_highgui249d.lib;
opencv_imgproc249d.lib;
opencv_features2d249d.lib;
opencv_flann249d.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;
6)在【通用属性】 ->【清单工具】->【输入和输出】->【嵌入清单】(设置为否)
全部配置完后就可以开始使用。
注:配置不熟练或者粗心大意,都很容易导致配置失误,新手一定要耐心和细心呀!!!
第五步:检测
我用来检测的代码(这个代码有些细节问题没来得及修改,但还是能投入使用的):
#include<iostream>
#include<opencvcv.h>
#include<opencv2corecore.hpp>
#include<opencv2highguihighgui.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat img;
img=imread("sea.jpg");
if(!img.data)
{
printf("NO IMAGE DATA!");
return -1;
}
//将图像转化为灰度图像
Mat gray_image;
cvtColor(img, gray_image, CV_BGR2GRAY );
imwrite("Gray_sea.jpg", gray_image);
namedWindow("Sea", CV_WINDOW_AUTOSIZE);
namedWindow("Gray", CV_WINDOW_AUTOSIZE);
imshow("gray_sea", gray_image);
imshow("sea", img);
waitKey(0);
return 0;
}