OpenCV4 中各模块函数整理
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、图像直方图与模板匹配
QT开发交流+赀料君羊:714620761
函数名称 | 函数说明 |
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() | 转换输入到深度神经网络模型中的图像尺寸 |
相关文章
- VirtualBox7中安装macOS big sur,在windows10&11上「保姆级教程」
- 统信UOS应用相关问题解决方案:Virtualbox启动USB设备支持的方法
- Windows下安装Ubuntu虚拟机方法(在windows上安装ubuntu)
- 如何在 Windows 11 上安装和使用 VirtualBox:2022详细的分步教程
- 甲骨文虚拟机VirtualBox 7.1.8发布:修复CPU占用100% 问题
- 成功尝试在NetBSD9.0中安装Mate Desktop环境记录
- windows下VirtualBox vagrant的安装配置
- ESP32/8266开发环境超详细安装步骤
- 如何在 Virtualbox 虚拟机中安装 Pop!_OS
- 这可是全网eNSP安装最完整,最详细的图解,没有之一(常见问题)