一.Win10的64位操作系统,直接在VS官网下载VisualStudioCommunity,默认安装,安装的是VisualStudioCommunity2019:
(安装的【工作负载】步骤时选的是【.NET桌面开发】和【使用C++的桌面开发】和其它工具集中的【VisulStudio扩展开发】)
二.在已经安装好OpenCV4.1.0的情况下(参看前一篇博客)配置环境变量:
1.【此电脑】,单击右键,选择【属性】
2. 选择【高级系统设置】--【环境变量】,双击【Path】,单击【新建】:
3. 点击【浏览】,找到安装OpenCV4.1.0下的相应安装目录的的bin路径(本机OpenCV4.1.0安装在了D盘下的OpenCV文件夹中):
注意:在D:\OpenCV\opencv\build\x64路径下有vc14和vc15两个文件夹,选择vc15最新的(网上有参考vc15对应的是VisualStudio2017),但这里只能选择vc15尽管用的是VisualStudio2019。
4.依次点击确定返回即可。
三. 配置VisualStudio中的相关目录:
1.工程包含(include)目录的配置:
1.1打开VisualStudio2019,选择【创建新的项目】:
1.2 选择【空项目】,然后单击【下一步】:
1.3 填写【项目名称】,单击【创建】:
1.4创建结果如图所示:
1.5 右键单击【源文件】,选择【添加】-->【新建项】:
1.6选择【C++文件】,输入文件名称(比如main),点击【添加】:
1.7结果如图:
1.8 单击【视图】-->【其他窗口】-->【属性管理器】:
1.9结果如下图:
1.10 将X86改为X64,Debug不变:
1.11 找到OpenCV安装后文件夹D:\OpenCV\opencv\build\x64\vc15\bin,将下面的3个.dll文件复制到C:\Windows\System32这个文件夹下:
结果如下图所示:
1.12 定位到1.9步骤中的属性管理器,发现 Debug|X64下并没有 Microsoft.Cpp.x64.user,需要自己新建配置,右键单击Debug|X64,选择【添加新项目属性表】,输入名称(自己起的任意)OpenCV410x64Debug:
1.13 双击新建的OpenCV410x64Debug,在【通用属性】-->【VC++目录】-->【包含目录】中, 点击最右侧的倒三角按钮,选择<编辑>,
选择【新行】图标(文件夹左上角带的*号的那个), 将鼠标定位到新行中,
结果如下图所示,不要手动输入,点击右侧的...按钮,选择 D:\OpenCV\opencv\build\include 和 D:\OpenCV\opencv\build\include\opencv2 这2个路径(没有D:\OpenCV\opencv\build\include\opencv), 点击 确定。
2. 工程库(lib)目录的配置 :
步骤与第1个步骤差不多,在【属性管理器】下双击OpenCV410x64Debug,在【通用属性】-->【VC++目录】-->【库目录】中,采用同样的方法(不要手动输入)添加 D:\OpenCV\opencv\build\x64\vc15\lib 这条路径,结果如下图所示:
3. 链接库的配置:
3.1 在OpenCVx64Debug属性页中,选择【通用属性】-->【链接器】-->【输入】-->【附加依赖项】,选择<编辑>:
3.2 在弹出的附加依赖项 对话面板中,手动输入 opencv_world410d.lib ,依次单击确定返回即可。
输入 opencv_world410d.lib 是因为在OpenCV的安装目录下的这个对应。
四. 测试 ,通过OpenCV载入并显示一张图片到窗口:
4.1 在F盘下的 F:\TuPian 目录中放入一张图片 FuChouZhe4.jpeg
4.2 在步骤1.6中建立的 mian.cpp 中输入如下参考代码:
#include
#include
using namespace std;
using namespace cv;
int main()
{
// 读取图片(使用图片的绝对路径,参考自己的图所在目录)
Mat srcImg = imread("F:\\TuPian\\FuChouZhe4.jpg");
if (srcImg.empty()) {
cout << "could not load image..." << endl;
return -1;
}
imshow("Test opencv setup", srcImg);
// 显示灰度图
Mat Gray;
cvtColor(srcImg, Gray, 6);
imshow("Gray", Gray);
// 等待任意按键按下,不添加此语句图片会一闪而过
waitKey(0);
cout << "Hello,world." << endl;
return 0;
}
4.3 按下 F5 执行结果如图:
将显示的两幅图片依次关闭:
OK。
五. 参考及注意事项:
5.1 复制过程参考:
https://blog.csdn.net/weixin_42274148/article/details/85321091
这个参考稍微有点问题,不过在讨论中已经解决:
5.2 正确配置过程参考:
https://blog.csdn.net/yefcion/article/details/80632301
5.3 Debug|x64的文件夹下面没有名为Microsoft.Cpp.x64.user的文件,需要自己新建配置:
https://blog.csdn.net/weixin_42274148/article/details/85321091
https://blog.csdn.net/weixin_41991128/article/details/83656543
5.4 链接器>>输入>>附加依赖库>>添加 opencv_world400d.lib,不要同时将opencv_world400d.lib和opencv_world400.lib放到一起,会出Bug。
https://blog.csdn.net/qq_40755094/article/details/84504708
下面这个参考都加上了,没报错?
https://blog.csdn.net/weixin_41991128/article/details/83656543
下面的这个参考讲出了区别:
https://www.cnblogs.com/fzu-Z9h/p/10762318.html
5.5 注意DeBug中是X64,而不是X32,新版本的OpenCV不支持X32
http://www.cnblogs.com/zangdalei/p/5339316.html
将编译器由【x86】改为【x64】,这是因为OpenCV4.1.0仅支持x64。
https://blog.csdn.net/qq_15971883/article/details/88858497