基础结构:CvPoint、CvSize、CvScalar等
动态结构:CvMemStorage、CvMemBlock等
数组操作:cvCreateImage()、cvCreateMat()等
数据保存和运行时的类型信息:CvFileStorage、cvOpenFileStorage()等
错误处理和系统函数:cvGetErrStatus()、cvAlloc()、cvFree()等
2、cv:核心函数库
图像处理:cvCanny()、cvSobel()等
结构分析:ContourArea等
模式识别:CvHaarFeature等
运动分析与目标跟踪:cvMeanShift()等
摄像头定标与三维重建:cvCablirateCamer2()等
3、Machine Learing(ML):机器学习
许多聚类、分类和数据分析函数。如Bayes分类器,K近邻算法,支持向量机,决策树,神经网络等
4、HighGUI:GUI函数库
图像界面函数:cvNamedWindow()
读写图像:cvLoadImage()、cvSaveImage()
读写视频:cvCreateFileCapture()
5、cvaux:辅助函数库
包含一些即将淘汰的算法等
1.【calib3d】——Calibration(校准)和3D
该
模块
主要是相机校准和三维重建相关的内容,包括基本的多视角几何算法、单个立体摄像头标定、物体姿态估计、立体相似性算法、3D信息的重建等。
2.【contrib】——Contributed/Experimental Stuf的缩写。
该
模块
包含一些最近添加的不太稳定的可选功能,不用多管。新增了新型人脸识别、立体匹配、人工视网...
OpenCV
是一个流行的计算机视觉库,用于处理图像和视频数据,它包含了许多
模块
,以支持不同的计算机视觉任务。这是
OpenCV
的核心
模块
,提供了基本的数据结构和功能,如图像加载、保存、绘图、数据类型转换等。(1)基本的数据结构
Core
模块
包括了许多基本数据结构,如
cv
::Mat用于存储图像和矩阵数据,以及
cv
::Point
cv
::Rect
cv
::Size等用于表示点、矩形和大小的结构。
cv
::Mat是
OpenCV
库中用于表示图像和多维数组的核心数据结构。它是
OpenCV
中进行图像处理、计算机视觉算法操作的基础。以下是对
cv
::Mat
cv
::Mat支持的数据类型涵盖
OpenCV
定义的各种基本类型,如
CV
_8U(无符号 8 位整型)、
CV
_16S(带符号 16 位整型)、
CV
_32F(32 位浮点型)等,以及它们的多通道组合(如
CV
_8UC3表示 3 个 8 位无符号整型通道)。
注释掉 i
cv
LoadWindowPos( name, rect ); 语句下面的 mainhWnd = CreateWindow( "Main
High
GUI
class
IplImage *srcImage;
if ((srcImage =
cv
LoadImage("lena.jpg",
CV
_LOAD_IMAGE_GRAYSCALE)) == NULL)
// if((srcImage=
cv
LoadImage("lena.jpg
在
opencv
程序中调用
high
gui
时,在命令行中使用cmake make一切正常,在qt5.7中出现问题。分析
在linux下要自己编译
opencv
在编译
opencv
时可以选择withQT的编译选项,这样
high
gui
会默认使用qt的
gui
。
碰巧我的环境里有qt5.5 qt5.7,其中qt5.7又碰巧当时为了能够调试ros使用的是下面的安装方式(据说按照官方方式不会出现这
一些
ML
、DL、
CV
常见的问题整理。包括:LeNet、AlexNet、VGG、GoogleNet、ResNet;轻量化卷积神经网络SqueezeNet、MobileNet、ShuffleNet、Xception;BN系列相关问题;优化器;梯度消失和梯度爆炸;过拟合与欠拟合;目标检测网络;评价指标;上采样的方式等
后续可能还会更新......
CV
::Mat与QImage
cv
::Mat是
OpenCV
中用来存储图像的数据结构,其中的data是uchar*类型,根据图像的通道数和位数的不同可以划分为不同的类型。例如
CV
_8UC3代表的是8位三通道的图像8位代表每个通道的范围为0~255,3通道分为为RGB三个通道,RGB三原色的混合即可以组成各种不同的颜色。同样
CV
_8UC1代表8位单通道的图像,也就是黑白图像。若涉及到图像深度还有其他的类型