【opencv】vs2019中配置opencv

目录

配置opencv

  1. 创建空项目,右键选择属性,选择VC++目录
  2. 常规包含目录中添加头文件路径D:\opencv\opencv\build\include ; D:\opencv\opencv\build\include\opencv2
  3. 库目录中添加lib路径D:\opencv\opencv\build\x64\vc16\lib
  4. 选择连接器,选择输入,在依赖项中添加opencv_world4100d.lib
  5. 在环境变量值添加bin路径D:\opencv\opencv\build\x64\vc16\bin

自此配置完成

彻底理解配置

核心概念:编译、链接、运行的区别

编译阶段

做什么:将源代码.cpp和头文件.h转化为中间文件.obj

需要的配置:

  • 告诉编译器去哪找头文件,所以我们需要配置头文件的路径

链接阶段

做什么:讲多个.obj与库文件合并,最终生成可执行文件.exe

需要配置:

  • 告诉链接器去哪找库文件,所以我们需要配置库文件的路径
  • 明确告诉链接器需要链接哪些库文件

:即使库目录正确,链接器也不会盲目链接目录下的所有库,需通过依赖项显式指定。

不添加依赖项的后果:链接失败(未解析的外部符号错误)

运行阶段

做什么:执行.exe文件,此时需要加载动态链接库

需要配置:

  • 环境变量PATH:告诉操作系统去哪里找.dll文件
  • 或者将.dll文件复制到.exe所在目录

:运行时,系统会按照.exe所在目录、系统目录(如C:\Windows\System32)、环境变量PATH中的目录去找.dll。若未找到程序会崩溃并报错 。

总结

  • 编译:头文件告诉编译器"有什么",但实现藏在库中。

  • 链接:库目录告诉链接器"去哪找",附加依赖项告诉它"找什么"。

  • 运行:DLL是最终的实现,系统需要知道去哪里加载它们。

通过理解这三个阶段的区别,你可以更自信地配置任何第三方库(不仅仅是OpenCV)。如果遇到问题,按照编译→链接→运行的顺序逐步排查,一定能找到根源!

相关推荐
IVEN_3 天前
Python OpenCV: RGB三色识别的最佳工程实践
python·opencv
sali-tec9 天前
C# 基于OpenCv的视觉工作流-章27-图像分割
图像处理·人工智能·opencv·算法·计算机视觉
saoys9 天前
Opencv 学习笔记:腐蚀操作 + 轮廓标记 + 分水岭分割
笔记·opencv·学习
saoys9 天前
Opencv 学习笔记:距离变换(DIST_L1 算法实战 + 归一化)
笔记·opencv·学习
guygg889 天前
图像匹配技术:相关匹配、Hausdorff距离匹配与基于距离变换的Hausdorff距离匹配
图像处理·opencv·计算机视觉
AI科技星9 天前
物理世界的几何建构:论统一场论的本体论革命与概念生成
人工智能·opencv·线性代数·算法·矩阵
fie88899 天前
基于Matlab实现的指纹识别系统流程
opencv·计算机视觉·matlab
sali-tec9 天前
C# 基于OpenCv的视觉工作流-章26-图像拼接
图像处理·人工智能·opencv·算法·计算机视觉
智驱力人工智能10 天前
机场鸟类活动智能监测 守护航空安全的精准工程实践 飞鸟检测 机场鸟击预防AI预警系统方案 机场停机坪鸟类干扰实时监测机场航站楼鸟击预警
人工智能·opencv·算法·安全·yolo·目标检测·边缘计算
Σίσυφος190010 天前
OpenCV 之双线性插值
人工智能·opencv·计算机视觉