新手一步一步OpenCV+Win7+Visual Studio 2013环境配置
地点:湖南大学软件大楼211
时间:2013.12.19
昨天导师布置了个任务,要求是找出用相机拍出同一移动场景下的两张照片,计算机能根据其中的差异计算场景移动的距离和旋转角度。据说以前很牛逼的师兄完成过,好吧,江山代有才人出,长江后浪推前浪,伦我出场了。本系列也将记录该项目整个流程,一方面总结自己,二方面以供大家学习,一起进步。
一、OpenCV环境配置准备工作
1.下载软件:(http://sourceforge.net/projects/opencvlibrary/files/?source=navbar):根据需要下载合适的版本,当然我这里要说明的是我用的配置是:Win7+Visual Studio 2013+opencv-2.4.7.2
2.解压文件:点击下载好的.exe文件即进行文件解压,OpenCV是一个安装解压文件
3.配置环境变量
1)打开管理员模式的命令提示符,运行: setx -M OPENCV_DIR D:\opencv\build\x86\vc11 (这样做的目的是方便OPENCV_DIR 成为一个系统的变量)
2)->我的电脑->右键属性-高级系统设置->环境变量,找到path变量名,添加 ;%OPENCV_DIR%\bin (为了与以前变量值分开,带分号是应该的)
4.配置VS环境
这里每次新建工程都需要手动配置,其实说白了是配置工程依赖项。
1)在工程属性页面下面配置“包含目录”和“库目录”两项(这里注意后面不要添分号,反正我添了不行)
$(OPENCV_DIR)\..\..\include ——包含目录
$(OPENCV_DIR)\lib ——库目录
2)在连接器->附加依赖项中添加相关动态链接库,这一步很重要,否则会报错说无法解析外部指令,另外添加和版本相关,具体到bin文件夹下去查看,我的版本是opencv-2.4.7.2(注:我配置的是Release版,debug时报缺失MSVCP110D.dll 文件的错)
)3连接器中添加附加依赖项
a.debug模式添加
opencv_core247d.lib
opencv_imgproc247d.lib
opencv_highgui247d.lib
opencv_ml247d.lib
opencv_video247d.lib
opencv_features2d247d.lib
opencv_calib3d247d.lib
opencv_objdetect247d.lib
opencv_contrib247d.lib
opencv_legacy247d.lib
opencv_flann247d.lib
b.release模式添加
opencv_core247.lib
opencv_imgproc247.lib
opencv_highgui247.lib
opencv_ml247.lib
opencv_video247.lib
opencv_features2d247.lib
opencv_calib3d247.lib
opencv_objdetect247.lib
opencv_contrib247.lib
opencv_legacy247.lib
opencv_flann247.lib
5.测试
#include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace cv; int main(int argc, char **argv) { if (argc<2) { cout << "No parameters.\n" << "You need to specify an image." << endl; exit(1); } else { Mat img = imread(argv[1]); if (img.empty()) { fprintf(stderr, "Error: load image failed."); return -1; } namedWindow("image", CV_WINDOW_AUTOSIZE); imshow("image", img); waitKey(); } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决