断断续续搞了两天,才把环境搭起来,看了N多的博客,踩了N多的坑,下面我把自己的过程复述一遍,尽量保证从头到尾。
搭建环境
1.下载并安装opencv
进入opencv官网 https://opencv.org,选择Releases
往后翻找到OpenCV-3.0.0 Beta,点击Windows,到下一网址继续点击就开始下载了。
为什么选择这个版本?
因为opencv3只有这个版本的库文件是支持V10,网上很多说比如V10对应VS2010,V11对应2012等等,我搜索到官网的论坛上的一条回答是:Visual C++ 2008 (vc9), VC++ 2010 (vc10) and VC++ 2012(vc11 and vc11_ui),我的这台电脑只有VS2010的开发运行库,所以就找对应的了。
双击解压,并设置路径,解压完成找到解压的目录,把bulid和sources移出来。
2.配置环境变量
- 我的电脑 —> 右键 属性 —> 左边 高级系统设置
- 高级 —> 环境变量
- 系统变量 —> 找到Path并打开 —> 新建三个路径
D:\Opencv\opencv-3.0.0-beta\build\x86\vc10\bin
D:\Opencv\opencv-3.0.0-beta\build\x86\vc10\bin
D:\Opencv - 最后全部都确定
3.新建工程
新建项目—> Visual C++ —> Win32控制台应用程序 —> 下一步 —> 空项目 —> 完成
4.配置项目的属性管理器,包含opencv
打开工程的属性管理器(找不到在视图里打开)—>
右键 Debug|Win32 —> 添加新项目属性表 —> 这里的名字是opencvx32
右键 Release|Win32 —> 添加现有属性表 —> 把刚才新建的opencvx32加入
双击刚才新建的属性表—> VC++目录
向 包含目录 添加下面路径:
D:\Opencv\opencv-3.0.0-beta\build\include\opencv2
D:\Opencv\opencv-3.0.0-beta\build\include\opencv
D:\Opencv\opencv-3.0.0-beta\build\include
向 库目录 添加下面路径:
D:\Opencv\opencv-3.0.0-beta\build\x86\vc10\lib
链接器 —> 输入
向 附加依赖项 添加下面文件:
opencv_ts300.lib
opencv_ts300d.lib
opencv_world300.lib
opencv_world300d.lib
5.测试程序
解决方案资源管理器 —> 在 源文件 目录 —> 右键 添加新建项 —> C++文件(.cpp)
—> 选择.cpp文件加入以下测试代码。
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main()
{
Mat Pic_test = imread("C:\\Users\\asus\\Pictures\\gaki.jpg"); //存放自己图像的路径
if (Pic_test.empty())
{
printf("无法打开,目标路径错误... \n");
while(1);
}
else
{
imshow("test oppencv ", Pic_test);
waitKey(0);//等待按键
}
return 0;
}
最终的成果:
解决错误
error LNK2001: 无法解析的外部符号 "public: virtual void __cdecl cv::HOGDescriptor:库目录没选好或者附加依赖项不够齐全
https://blog.csdn.net/dlh_sycamore/article/details/79464051
应用程序无法正常启动(0xc000007b):系统缺少文件
https://www.cnblogs.com/edielei/p/4295490.html
该文件包含不能在当前代码页(936)中表示的字符:打开cpp更改存储编码
https://blog.csdn.net/dj0379/article/details/47269153
vs2010 无法找到调试信息 或者调试信息不匹配
https://www.xuebuyuan.com/1390397.html
由于找不到msvcp140d.dll 无法继续执行代码:从网上下载并安装到C:\Windows\System32,其他文件一样操作
https://blog.csdn.net/zhihuoqian9683/article/details/78757740
imshow出现两个窗口
https://blog.csdn.net/weixin_38383877/article/details/89848631
参考
https://blog.csdn.net/z_jun1981/article/details/81456204
https://blog.csdn.net/weixin_42476992/article/details/82878360
https://blog.csdn.net/whitehack/article/details/6902546
https://blog.csdn.net/qq_32211827/article/details/55657146
https://answers.opencv.org/question/28462/what-are-v9-v0-v11-and-mingw/