OpenCV4 中各模块函数整理

作者:billy
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

1. 数据载入、显示与保存

函数名称 函数说明
imread() 读取图像文件
namedWindow() 创建一个显示图像的窗口
imshow() 在指定窗口中显示图像
VideoCapture() 调用摄像头或者读取、保存视频文件
imwrite() 保存图像到文件
VideoWriter() 将多帧图像保存成视频文件
FileStorage() 读取或者保存XML、YAML文件

2. 图像基本操作

函数名称 函数说明
cvtColor() 图像颜色空间转换
convertTo() 图像数据类型转换
split() 图像多通道分离
merge() 图像对通道合并
minMaxLoc() 寻找矩阵中的最大值和最小值,以及最大值和最小值在矩阵中的位置
reshape() 改变矩阵尺寸和通道数
mean() 计算矩阵每个通道的平均值
meanStdDev() 计算矩阵每个通道的平均值和标准差
max() / min() 比较图像每个元素灰度值的较大值 / 较小值
bitwise_and() 像素求 “与” 运算
bitwise_or() 像素求 “或” 运算
bitwise_xor() 像素求 “异或” 运算
bitwise_not() 像素求 “非” 运算
threshold() 像素阈值操作
adaptiveThreshold() 图像的二值化
LUT() 显示查找表
vconcat() / hconcat() 图像竖向连接 / 图像横向连接
resize() 改变图像尺寸
flip() 图像翻转变换
warpAffine() 图像仿射变换
warpPerspective() 图像透视变换
warpPolar() 图像极坐标变换
circle() 在图像中绘制圆形
line() 在图像中根据两点绘制一条直线
ellipse() 在图像中绘制椭圆
ellipse2Poly() 在图像中通过矩形边界绘制椭圆
rectangle() 在图像中绘制矩形
fillPoly() 在图像中绘制多边形
putText() 在图像中生成文字
copyTo() 图像深拷贝
pyrDown() 图像下采样
pyrUp() 图像上采样
createTrackbar() 在图像窗口创建滑动条
setMouseCallback() 鼠标事件响应

3. 图像直方图与模板匹配

函数名称 函数说明
calcHist() 绘制图像直方图
normalize() 数据归一化
compareHist() 直方图比较
equalizeHist() 直方图均衡化
calcBackProject() 直方图反向投影
matchTemplate() 图像模板匹配

4. 图像滤波

函数名称 函数说明
filter2D() 卷积操作
rand() 生成随机数
fill() 产生均匀分布或高斯分布的随机数
blur() 均值滤波
boxFilter() 方框铝箔
sqrBoxFilter() 扩展方框滤波
GaussianBlur() 高斯滤波
sepFilter2D() 双方向卷积滤波
medianBlur() 中值滤波
bilateralFilter() 双边滤波
convertScaleAbs() 计算矩阵绝对值
Sobel() Sobel 算子边缘检测
Scharr() Scharr 算子边缘滤波
getDerivKernels() 生成边缘检测滤波器
Laplacian() Laplacian 算子边缘检测
Canny() Canny 算法边缘检测

5. 图像形态学操作

函数名称 函数说明
distanceTransform() 图像像素距离交换
connectedComponents() 图像连通域计算
connectedComponentsWithStats() 含有更多统计信息的连通域计算
getStructuringElement() 获取图像形态学滤波的矩阵结构元素
erode() 腐蚀运算
dilate() 膨胀运算
morphologyEx() 形态学操作
thinning() 图像细化

6. 目标检测

函数名称 函数说明
HoughLines() 霍夫变换检测直线
HoughLinesP() 霍夫变换检测直线的两个端点
HoughLinesPointSet() 二维点集中检测直线
fitLine() 拟合直线
HoughCircles() 霍夫变换检测圆
findContours() 计算轮廓
drawContours() 绘制轮廓
contourArea() 计算轮廓面积
arcLength() 计算轮廓长度
boundingRect() 轮廓外接最大矩形
minAreaRect() 轮廓外接最小矩形
approxPolyDP() 轮廓多边形逼近
pointPolygonTest() 点到轮廓距离
convexHull() 凸包检测
moments() 计算图像矩
HuMoments() 计算 Hu 矩
matchShapes() 基于 Hu 矩的轮廓匹配
minEnclosingTriangle() 二维点集的最小三角形拟合
minEnclosingCircle() 二维点集的最小圆形拟合
detectAndDecode() QR二维码检测与识别

7. 图像分析与修复

函数名称 函数说明
dft() 傅里叶变换
idft() 傅里叶逆变换
getOptimalDFTSize() 计算矩阵傅里叶变换的最优尺寸
copyMakeBorder() 扩充图像尺寸
magnitude() 计算二维向量的幅值
mulSpectrums() 复数矩阵乘法运算
dct() 离散余弦变换
idct() 离散余弦变换的逆变换
integral() 计算积分图像
floodFill() 漫水填充法
watershed() 分水岭法
grabCut() Grabcut 法
pyrMeanShiftFiltering() Mean-Shift 法
TermCriteria() 迭代算法终止条件
inpaint() 图像修复

8. 特征点检测与匹配

函数名称 函数说明
drawKeypoints() 绘制关键点
cornerHarris() 计算角点 Harris 评价系数
goodFeaturesToTrack() 检测 Shi-Tomas 角点
cornerSubPix() 计算亚像素级别角点
Feature2D::detect() 计算特征点中的关键点
Feature2D::compute() 计算特征点中的描述子
Feature2D::detectAndCompute() 同时计算特征点中的关键点和描述子
drawMatches() 绘制特征点匹配结果
FlannBasedMatcher() FLANN 算法描述子匹配
findHomography() 计算单应性矩阵

9. 立体视觉

函数名称 函数说明
convertPointsToHomogenous() 非齐次坐标向齐次坐标转换
convertPointsFromHomogenous() 齐次坐标向非齐次坐标转换
findChessboardCorners() 棋盘格内角点检测
find4QuadCornerSubpix() 内角点位置优化
findCirclesGrid() 圆形网格的圆心检测
drawChessboardCorners() 绘制棋盘格的内角点或者圆形网格的圆心
undistort() 图像去畸变校正
projectPoints() 单目相机空间点向图像投影
solvePnP() 计算位姿关系
Rodrigues() 旋转向量与旋转矩阵相互转换
stereoCalibrate() 双目相机标定
stereRectufy() 双目相机畸变校正

10. 视频分析

函数名称 函数说明
absdiff() 计算两个图像差值的绝对值
meanShift() 均值迁移法的目标跟踪
selectROI() 通过鼠标在图像中选择感兴趣区域
CamShift() 自适应均值迁移法目标跟踪
calcOpticalFlowFarneback() Farneback 多项式扩展算法光流跟踪
cartToPolar() 计算二维向量的模长与方向
calcOpticalFlowPyrLK() LK稀疏光流法跟踪

11. OpenCV 与机器学习

函数名称 函数说明
kmeans() K 均值聚类
StatModel::train() 模型训练
TrainData::create() 创建训练数据结构
StatModel::predict() 利用模型对新数据进行预测
Algorithm::load() 加载模型
KNearest::findNearest() K 近邻模型对新数据进行预测
DTrees::create() 初始化决策树类型变量
RTrees::create() RTrees 类的初始化
SVM::create() 定义 PtrCSV 类型的变量
dnn::readNet() 加载已有深度神经网络模型
dnn::Net::setInput() 向深度神经网络中输入新的数据
dnn::blobFromImages() 转换输入到深度神经网络模型中的图像尺寸

你可能感兴趣的:(OpenCV,OpenCV4,函数整理)