第一篇 OpenCv常用头文件#include<>介绍

本文介绍如何解决在使用OpenCV时遇到的红色波浪线错误,并详细解释了不同头文件的作用及区别,例如cv.hpp与opencv.hpp。同时提供了常见的OpenCV头文件及其功能概述。

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

初学 OpenCv,在用VS2015编写程学的时,有时候在编译过程中会出现红色波浪线,极大的困扰着初学者心情,这种情况作为新人的我深有体会。 后来逐渐意识到,问题主要出在编写的时候,有一个#include<>的过程,这个过程的主要作用就是,使接下来的代码函数里面被提前定义在这些头文件里。顾名思义,include本来就是包含包括的意思,所以通过程序一开始的include<>,我们就能实现对程序中所用字符代码的提前声明! 但是,为什么有时候我们明明有了include<>,但在实际的程序运行中,还是会出现红色波浪线呢?原因很简单,就是你使用的一些函数或者并没有包含在你已经声明的include里!
(1)区别一下:cv.hpp 和 opencv.hpp
网上一些文章可能没有说清楚。其实,cv.hpp和opencv.hpp是等同的关系。只不过,前者是早期opencv版本中的定义名称,而后者opencv.hpp则是3.0版本之后的表示方法。
(2)共同点:#include<cv.h>和opencv.hpp中均包含了以下的头文件:
 
 #include "opencv2/core.hpp"
 #include "opencv2/imgproc.hpp"
 #include "opencv2/video.hpp"
 #include "opencv2/objdetect.hpp"
 #include "opencv2/imgcodecs.hpp"
 #include "opencv2/highgui.hpp"
 #include "opencv2/ml.hpp"
简言之,我们在编写代码的时候,或许只需要一个简单的#include<opencv2/opencv.hpp>就可以轻松的解决红色波浪线未定义字符的烦恼!
(3)常用头文件名的解释
[core]核心功能模块
主要包含了opencv基本数据结构,动态数据结构,绘图函数,数组操作相关函数,辅助功能与系统函数和宏。
[imgproc]图像处理模块
主要包换了图像的变换,滤波直方图相关结构分析,形状描述 。
[video]视频模块
主要运用在调用摄像头时。
[highgui]高层GUI图像交互模块
主要包换了图形交互界面,媒体I/O的输入输出,视频信息的捕捉和提取,图像视频编码等。
[math.h]数学函数库
包含了一些常用的数学公式。如三角函数,反三角函数,乘方,开方,取整等运算。
[iostream]输入输出流头文件
主要包含了在c++编码过程中的 cin输入内容和cout输出内容。
[vector] "容器"
之所以被认为是一个容器,是因为vector能够能够像容器一样存放各种数据类型。换句话说,能够存放任意类型的动态数组,能够增加和压缩数据。
[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)
(4)参考文献 [1]http://blog.youkuaiyun.com/u014260892/article/details/44095241
在qt中运行以下程序提示报错 #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include <pcl/filters/voxel_grid.h> #include <pcl/kdtree/kdtree_flann.h> #include <pcl/common/time.h> //计时 #include <pcl/filters/passthrough.h> #include <pcl/filters/statistical_outlier_removal.h> #include <pcl/ModelCoefficients.h> // 模型系数 #include <pcl/sample_consensus/model_types.h> // 分割模型类型 #include <pcl/segmentation/sac_segmentation.h> // RANSAC #include <pcl/filters/model_outlier_removal.h> // 模型滤波器 #include <pcl/visualization/cloud_viewer.h> // 可视化 #include <pcl/visualization/pcl_visualizer.h> #include <pcl/sample_consensus/sac_model_cylinder.h> // 圆柱 #include <pcl/filters/extract_indices.h> #include <pcl/common/pca.h> #include <pcl/sample_consensus/ransac.h> // RANSAC #include <pcl/search/kdtree.h> // KDtree搜索 #include <pcl/features/normal_3d.h> // 法线估计 #include <pcl/features/normal_3d_omp.h> #include <pcl/segmentation/region_growing.h> //区域生长 #include <pcl/common/angles.h> #include <pcl/search/search.h> #include <pcl/filters/project_inliers.h> #include <pcl/filters/crop_box.h> #include <pcl/features/moment_of_inertia_estimation.h> #include <pcl/sample_consensus/sac_model_circle3d.h> // 拟合3D圆 #include <pcl/visualization/pcl_visualizer.h> #include <pcl/common/common.h> #include<pcl/octree/octree.h> #include <opencv2/opencv.hpp> #include <opencv2/core.hpp> #include <opencv2/core/core_c.h> #include <opencv2/imgproc.hpp> #include <opencv2/calib3d.hpp> #include <opencv2/core/eigen.hpp> #include "EuclideanCluster.h" #include <pcl/console/time.h> // 控制台计算时间 #include <QApplication> #include <iostream> #include <opencv2/opencv.hpp> using namespace cv; using namespace std; using pcl::visualization::PointCloudColorHandlerGenericField; using pcl::visualization::PointCloudColorHandlerCustom; typedef struct Point3D { Mat_<double> mat1 ; float angle; }; pcl::PointCloud<pcl::PointXYZ>::Ptr Voxel_Grid_Filtering(pcl::PointCloud<pcl::PointXYZ>::Ptr &cloud,int numb
03-19
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值