OpenCV4 中各模块函数整理

该文详细介绍了OpenCV库中用于图像载入、显示、保存以及一系列图像处理函数,包括颜色空间转换、图像操作、滤波、形态学操作、目标检测、特征点匹配、立体视觉和视频分析等。此外,还涉及到了OpenCV在机器学习领域的应用,如K均值聚类和决策树等。
摘要由CSDN通过智能技术生成

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

函数名称

函数说明

imread()

读取图像文件

namedWindow()

创建一个显示图像的窗口

imshow()

在指定窗口中显示图像

VideoCapture()

调用摄像头或者读取、保存视频文件

imwrite()

保存图像到文件

VideoWriter()

将多帧图像保存成视频文件

FileStorage()

读取或者保存XML、YAML文件

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

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()

转换输入到深度神经网络模型中的图像尺寸

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值