opencv 头文件 包含 include 的问题

本文解析了OpenCV新版本中头文件的使用方法,对比旧版直接包含cv.h的方式,新版本通过包含特定模块的头文件实现更精细的功能调用。文章详细介绍了如何在项目中正确配置和使用这些头文件,并提供了常用头文件的解释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.最开始用opencv2.1  直接习惯性的:

#include"cv.h“

这样纸。。。。。只要配置好环境变量之后就OK了。。。

2.新版本之后 大家 都习惯 这样

#include <opencv2/highgui/highgui.hpp>

这样。。

一直弄不太清楚。。。。分析下:

新版本的include 路径是;   D:\Program Files\opencv\build\include\opencv; D:\Program Files\opencv\build\include\opencv2; D:\Program Files\opencv\build\include;


那就看看这个目录下:

opencv目录里面:

 

opencv2

所以,如果按照传统方法来 include 的话,环境目录配置了 /opencv  也是ok的。。

那么新方法呢? /opencv2里面那么多文件夹,应该 include 哪一个呢?

额。。。看一下  opencv。hpp

#ifndef __OPENCV_ALL_HPP__
#define __OPENCV_ALL_HPP__


#include "opencv2/core/core_c.h"
#include "opencv2/core/core.hpp"
#include "opencv2/flann/miniflann.hpp"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/photo/photo.hpp"
#include "opencv2/video/video.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/ml/ml.hpp"
#include "opencv2/highgui/highgui_c.h"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/contrib/contrib.hpp"


#endif

哈哈哈哈哈 包含了 所有的 /opencv2 下的头文件。。。如果,你不知道该具体  include哪一个,就直接 

#include<opencv2/opencv.hpp>  吧。。。。。
--------------------- 

常用头文件名的解释:

  1. [core]核心功能模块 
  2. 主要包含了opencv基本数据结构,动态数据结构,绘图函数,数组操作相关函数,辅助功能与系统函数和宏。 
  3. [imgproc]图像处理模块 
  4. 主要包换了图像的变换,滤波直方图相关结构分析,形状描述 。 
  5. [video]视频模块 
  6. 主要运用在调用摄像头时。 
  7. [highgui]高层GUI图像交互模块 
  8. 主要包换了图形交互界面,媒体I/O的输入输出,视频信息的捕捉和提取,图像视频编码等。 
  9. [math.h]数学函数库 
  10. 包含了一些常用的数学公式。如三角函数,反三角函数,乘方,开方,取整等运算。 
  11. [iostream]输入输出流头文件 
  12. 主要包含了在c++编码过程中的 cin输入内容和cout输出内容。 
  13. [vector] "容器" 
  14. 之所以被认为是一个容器,是因为vector能够能够像容器一样存放各种数据类型。换句话说,能够存放任意类型的动态数组,能够增加和压缩数据。 
  15. [ml] Machine Learning 机器学习模块

基本上是统计模型和分类算法,包含如下内容 

  • 统计模型 (Statistical Models) 
  • 一般贝叶斯分类器 (Normal Bayes Classifier) 
  • K-近邻 (K-Nearest Neighbors) 
  • 支持向量机 (Support Vector Machines) 
  • 决策树 (Decision Trees) 
  • 提升(Boosting) 
  • 梯度提高树(Gradient Boosted Trees) 
  • 随机树 (Random Trees) 
  • 超随机树 (Extremely randomized trees) 
  • 期望最大化 (Expectation Maximization) 
  • 神经网 (Neural Networks) 

--------------------- 


转载:https://blog.youkuaiyun.com/timidsmile/article/details/9135601 

           https://blog.youkuaiyun.com/bboytd_lyg/article/details/78457260 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值