| 类 | |
|---|---|
| Mat | |
| VideoCapture | |
| Point | |
| Size | |
| Rect |
| 返回值 | 函数名称 | 函数说明 |
|---|---|---|
| Chapter2 | 图像的载入、显示与保存 | |
| Mat | imread() | 读取图像 |
| void | namedWindow() | 命名窗口 |
| void | imshow() | 在指定窗口中显示图像 |
| 类 | VideoCapture() | 调用摄像头or读取视频文件 |
| bool | imwrite() | 保存图像到文件 |
| 类 | VideoWriter() | 保存视频文件 |
| Chapter3 | 图像基本操作 | |
| void | cvtColor() | 图像颜色空间转换 |
| void | Mat::convertTo() | 数据类型转换 |
| void | split() | 多通道图像分离 |
| void | merge() | 多通道图像合并 |
| void | minMaxLoc() | 寻找矩阵中的最大最小值及其位置 |
| Mat | Mat::reshape() | 改变矩阵的尺寸和通道数 |
| Scalar | mean() | 计算矩阵每个通道的平均值 |
| void | meanStdDev() | 计算矩阵每个通道的平均值和方差 |
| void | max()/min() | 比较两图像每个元素 |
| void | bitwise_and() | 像素与 |
| void | bitwise_or() | 像素或 |
| void | bitwise_xor() | 像素异或 |
| void | bitwise_not() | 像素非 |
| double | threshold() | 阈值操作 |
| void | adaptiveThreshold() | 自适应阈值操作 |
| void | LUT() | 灰度图映射表,look_up_table() |
| void | vconcat()/hconcat() | 水平数值连接窗口 |
| void | resize() | 改变图像的长宽,可以给空Size再用比例确定大小 |
| void | flip() | 图像翻转 |
| Mat | getRotationMatrix2D() | 获取旋转矩阵 |
| Mat | getAffineTransform() | 获取仿射变换矩阵 |
| void | warpAffine() | 仿射变换 |
| Mat | getPerspectiveTransform() | 获取透视变换矩阵 |
| void | warpPerspective() | 透视变换,可以通过角点检测获取角点进行变换 |
| void | warpPolar() | 极坐标变化 |
| void | circle() | 在图像中绘制圆形 |
| void | line() | 在图像中绘制直线 |
| void | ellipse() | 在图像中绘制椭圆 |
| void | ellipse2Ploy() | |
| void | rectangle() | 在图像中绘制矩形 |
| void | fillPoly() | 在图像中绘制多边形 |
| void | putText() | 在图像中生成文字 |
| void | Mat::copyTo() | 图像深拷贝 |
| void | pyrDown() | 向下采样 |
| void | pyrUp() | 向上构建 |
| int | createTrackbar() | 在窗口创建滑动条 |
| void | setMouseCallback() | 鼠标事件响应 |
| void | MouseCallback() | 鼠标事件响应的回调函数 |
| Chapter4 | 图像直方图与模板匹配 | |
| void | calcHist() | 统计直方图,根据统计结果可自己绘制直方图 |
| void | normalize() | 所有数据归一化 |
| double | compareHist() | 直方图比较,返回相似性系数 |
| void | equalizeHist() | 直方图均衡化 |
| void | calcBackProject() | 直方图反向投影,在图像中寻找模板图像 |
| void | matchTemplate() | 模板匹配,比较像素灰度值 |
| Chapter5 | 图像滤波 | |
| void | filter2D() | 卷积操作、自定义滤波函数 |
| void | rand()/rand_double()/rand_int() | 生成随机数 |
| void | RNG::fill() | 产生均匀or高斯分布的随机数 |
| void | blur() | 均值滤波 |
| void | boxFilter() | 方框滤波 |
| void | sqrBoxFilter() | 拓展方框滤波 |
| Mat | getGaussianKernel() | 获取高斯滤波核 |
| void | GaussianBlur() | 高斯滤波 |
| void | sepFilter2D() | 可分离滤波 |
| void | medianBlur() | 中值滤波 |
| void | bilateralFilter() | 双边滤波,保留图像的边缘特征 |
| void | convertScaleAbs() | 可实现对元素的增强操作 |
| void | Sobel() | Sobel算子边缘检测 |
| void | Scharr() | Scharr算子边缘检测 |
| Mat | getDerivKernels() | 生成边缘检测滤波器 |
| void | Laplacian() | 拉普拉斯算子边缘检测 |
| void | Canny() | Canny算法边缘检测 |
| Chapter6 | 图像形态学操作 | |
| void | distanceTransform() | 距离变化 |
| int | connectedComponents() | 连通域计算 |
| int | connectedComponentsWithStats() | 连通域计算,并提取更多统计信息 |
| Mat | getStructuringElement() | 获取结构元素用于形态学操作 |
| void | erode() | 腐蚀 |
| void | dilate() | 膨胀 |
| void | morphologyEx() | 形态学操作 |
| void | ximgproc::thinning() | 图像细化、细化连通域 |
| Chapter7 | 目标检测 | |
| void | HoughLines() | 标准霍夫变换,寻找图像中的直线 |
| void | HoughLinesP() | 渐进概率式霍夫变换,效果更好 |
| void | HoughLinesPointSet() | 在二维点集中寻找直线 |
| void | fitLine() | 直线拟合 |
| void | HoughCircles() | 检测圆形,CV_8UC1 |
| void | findContours() | 找轮廓,CV_8U单通道图像 |
| void | drawContours() | 画轮廓 |
| double | contourArea() | 计算轮廓面积 |
| double | arcLength() | 计算轮廓周长 |
| Rect | boundingRect() | 最大外接矩形 |
| RotatedRect | minAreaRect() | 最小外接矩形 |
| void | approxPolyDP() | 多边形逼近 |
| double | pointPolygonTest() | 计算像素点到轮廓的最小距离 |
| void | convertHull() | 凸包检测 |
| moments() | ||
| HuMoments() | ||
| matchShapes() | ||
| double | minEnclosingTriangle() | 点集拟合三角形,返回面积 |
| void | minEnclosingCircle() | 点集拟合圆形 |
| bool | QRCodeDetector::detect() | 识别是否有QR二维码 |
| string | QRCodeDetector::decode() | QR二维码解码 |
| string | QRCodeDetector::detectAndDecode() | 识别+解码 |
| Chapter8 | 图像分析与修复 | |
| void | dft() | 对图像进行离散傅里叶变换 |
| void | idft() | 对图像进行逆离散傅里叶变换 |
| int | getOptimalDFTSize() | 计算最优的输入矩阵的尺寸 |
| copyMaskBorder() | ||
| magnitude() | ||
| dct() | ||
| idct() | ||
| integral() | ||
| int | floodFill() | 漫水填充法,返回填充的像素数目 |
| void | watershed() | 分水岭法 |
| void | grabCut() | grabCut方法,可靠性更高 |
| void | pyrMeanShiftFiltering() | 均值漂移法,输出一个颜色渐变、纹理平缓的图像 |
| TermCriteria | TermCriteria() | 表示迭代算法的终止条件 |
| void | inpaint() | 图像修复 |
| Chapter9 | 特征点检测与匹配 | |
| void | drawKeypoints() | 绘制特殊点 |
| void | cornerHarris() | Harris角点检测,阈值需要根据实际情况给出,CV_8U |
| void | goodFeaturesToTrack() | Shi-Tomas检测角点 |
| void | cornerSubPix() | 计算亚像素级别角点 |
| void | Feature2D::detect() | 特征点检测 |
| void | Feature2D::compute() | 特征点描述子计算 |
| void | Feature2D::detectAndCompute() | 同时计算特征点关键点和描述子 |
| DescriptorMatcher::match() | 匹配 | |
| DescriptorMatcher::knnMatch() | ||
| DescriptorMatcher::radiusMatch() | ||
| BFMatcher::BFMatcher() | ||
| void | drawMatches() | 绘制特征点匹配结果 |
| void | FlannBasedMatcher() | FLANN算法描述子匹配 |
| findHomography() | 计算单应性矩阵 | |
| Chapter10 | 立体视觉 | |
| void | convertPointsToHomogenerous() | 非齐次转齐次坐标 |
| void | convertPointsFromHomogenerous() | 齐次坐标转非齐次坐标 |
| bool | findChessboardCorners() | 从黑白标定板中提取内角点 |
| bool | find4QuadCornerSubpix() | 标定更精确 |
| bool | findCirclesGrid() | 用于圆形标定板 |
| void | drawChessboardCorners() | 在原图中绘制出角点位置 |
| double | calibrateCamera() | 计算内参矩阵和畸变系数矩阵 |
| void | initUndistortRectifyMap() | 计算矫正图像需要的映射矩阵 |
| void | remap() | 对图像矫正,去除畸变 |
| void | undistort() | 直接对原始图像进行校正 |
| void | projectPoints() | 单目投影 |
| void | solvePnP() | 单目位姿估计 |
| void | Rodrigues() | 旋转向量和旋转矩阵相互转换函数 |
| double | stereoCalibrate() | 双目相机标定函数 |
| void | stereoRectify() | 根据标定结果对图像进行校正 |
| Chapter11 | 视频分析 | |
| void | absdiff() | 插值法,计算两张图像的插值并取绝对值 |
| int | meanShift() | 均值漂移法 |
| Rect | selectROI() | 鼠标选中区域,返回区域在图像中的位置 |
| RotatedRect | CamShift() | 自适应均值法 |
| void | calcOpticalFlowFarneback() | 稠密光流法,Farneback多项式拓展算法,CV_8UC1 |
| void | cartToPolar() | 计算二维向量的方向和模长 |
| void | calcOptionalFlowPyrLK() | LK系数光流法 |
| Chapter12 | OpenCV与机器学习 | |
| kmeans() | 聚类算法 | |
| StatModel::train() | ||
| TrainData::creat() | ||
| StatModel::predict() | ||
| Algorithm::load() | ||
| KNearest::findNearest() | ||
| DTrees::create() | ||
| RTrees::create() | ||
| SVM::create() | ||
| Net | dnn::readNet() | 读取训练模型 |
| void | dnn::Net::setInput() | 输入网络数据 |
| Mat | dnn::blobFromImages() | 将任意尺寸和数据类型的图像转换成指定形式 |
