数据载入、显示与保存
函数名称 | 函数说明 |
---|---|
imread() | 读取图像文件 |
namedWindow() | 创建一个显示图像的窗口 |
imshow() | 在指定窗口中显示图像 |
VideoCapture() | 调用摄像头或者读取、保存视频文件 |
imwriter() | 保存图像到文件 |
VideoWriter() | 将多帧图像保存成视频文件 |
FileStorage() | 读取或保存XML、YMAL文件 |
图像基本操作
函数名称 | 函数说明 |
---|---|
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() | 鼠标事件响应 |
图像直方图与模板匹配
函数名称 | 函数说明 |
---|---|
calcHist() | 绘制图像直方图 |
normalize() | 数据归一化 |
compareHist() | 直方图比较 |
equalizeHist() | 直方图均衡化 |
calcBackProject() | 直方图反向投影 |
matchTemolate() | 图像模板匹配 |
图像滤波
函数名称 | 函数说明 |
---|---|
filter2D() | 卷积操作 |
rand()rand_double()/rand_int() | 生成随机数 |
fill() | 产生均匀分布或高斯分布的随机数 |
blur() | 均值滤波 |
boxFilter() | 方框滤波 |
sqrBoxFilter() | 扩展方框滤波 |
GaussianBlur() | 高斯滤波 |
seqFilter2D() | 双方向卷积运算 |
medianBlur() | 中值滤波 |
bilateralFilter() | 双边滤波 |
convertScaleAbs() | 计算矩阵绝对值 |
Sobel() | Sobel算子边缘检测 |
Scharr() | Scharr算子边缘检测 |
getDerivKernels() | 生成边缘检测滤波器 |
Laplacian() | Laplacian算子边缘检测 |
Canny() | Canny算法边缘检测 |
图像形态学操作
函数名称 | 函数说明 |
---|---|
distanceTransform() | 图像像素距离变换 |
connectedComponents() | 图像连通域计算 |
connectedComponentsWithStats() | 含有更多统计信息的连通域计算 |
getStructuringElement() | 获取图像形态学滤波的矩形结构元素 |
erode() | 腐蚀运算 |
dilate() | 膨胀运算 |
morphologyEx() | 形态学操作 |
thinning() | 图像细化 |
目标检测
函数名称 | 函数说明 |
---|---|
HoughLines() | 霍夫变换检测直线 |
HoughLinesP() | 霍夫变换检测直线的两个端点 |
HoughLinesPointSet() | 二维点集中检测直线 |
fitLine() | 拟合直线 |
HoughCircles() | 霍夫变换检测圆 |
findContours() | 计算轮廓 |
drawContours() | 绘制轮廓 |
contourArea() | 计算轮廓面积 |
arcLength() | 计算轮廓长度 |
boundingRect() | 轮廓外接最大矩形 |
minAreaRect() | 轮廓外接最小矩形 |
approxPloyDP() | 轮廓多边形逼近 |
pointPolygonTest() | 点到轮廓的距离 |
convexHull() | 凸包检测 |
moment() | 计算图像矩 |
HuMoment() | 计算Hu矩 |
matchShapes() | 基于Hu矩的轮廓匹配 |
minEnclosingTriangle() | 二维点集的最小三角形拟合 |
minEnclosingCircle() | 二维点集的最小圆形拟合 |
detectAndDecode() | QR二维码检测与识别 |
图像分析与修复
函数名称 | 函数说明 |
---|---|
dft() | 傅里叶变换 |
idft() | 傅里叶逆变换 |
getOptimalDFTSize() | 计算矩阵傅里叶变换的最优尺寸 |
copyMakeBorder() | 扩充图像尺寸 |
magnitude() | 计算二维向量的幅值 |
mulSpectrums() | 复数矩阵乘法运算 |
dct() | 离散余弦变换 |
idct() | 离散余弦变换的逆变换 |
integral() | 技术积分图像 |
floodFill() | 漫水填充法 |
watershed() | 分水岭法 |
grabCut() | GrabCut法 |
pyrMeanShiftFiltering() | Mean-Shift法 |
TermCriteria() | 迭代算法终止条件 |
inpaint() | 图像修复 |
特征点检测与匹配
函数名称 | 函数说明 |
---|---|
drawKeypoints() | 绘制特征点 |
cornerHarris() | 计算角点Harris评价系数 |
goodFeaturesToTrack() | 检测Shi-Tomas角点 |
cornerSubPix() | 计算亚像素级别角点 |
Feature2D::detect() | 特征点检测 |
Feature2D::compute() | 特征点描述子计算 |
Feature2D::detectAndCompute() | 同时计算特征点关键点和描述子 |
drawMatcher() | 绘制特征点匹配结果 |
FlannBasedMatcher() | FLANN算法描述子匹配 |
findHomography() | 计算单应性矩阵 |
立体视觉
函数名称 | 函数说明 |
---|---|
convertPointsToHomogeneous() | 非齐次坐标向齐次坐标变换 |
convertPointsFromHomogeneous() | 齐次坐标向非齐次坐标变换 |
findChessboardCorners() | 棋盘格内角点检测 |
find4QuadCornerSubpix() | 内角点位置优化 |
findCirclesGrid() | 圆形网格的圆心检测 |
drawChessboardCorners() | 绘制标定板的内角点 |
undistort() | 图像去畸变矫正 |
projectPoints() | 单目相机空间点向图像投影 |
solvePnP() | 计算位姿关系 |
Rodrigues() | 旋转向量与旋转矩阵相互转换 |
stereoCalibrate() | 双目相机标定 |
stereoRectify() | 双目相机畸变校正 |
视频分析
函数名称 | 函数说明 |
---|---|
absdiff() | 计算两个图像插值的绝对值 |
meanShift() | 均值迁移法的目标跟踪 |
selectROI() | 通过鼠标在图像中选择感兴趣区域 |
CamShift() | 自适应均值迁移法目标跟踪 |
calcOpticalFlowFarneback() | Faeneback多项式扩展算法光流跟踪 |
cartToPolar() | 计算二维向量模长 |
calcOpticalFlowPyrLK() | LK稀疏光流法跟踪 |