学习心得03:OpenCV

  数学真是不可思议,不管什么东西,都能用数学来处理。OpenCV以前也接触过,这次是系统学习一下。

  • 颜色模型

RGB,YUV,HSV,Lab,GRAY

颜色转换cvtColor()/convertTo(),通道分离split(),通道合并merge()。

  • 像素

寻找最大最小minMaLoc(),变成单通道reshape(),平均值mean(),方差meanStdDev()。

min()/max(), bitwise_and(), bitwise_or(), bitwise_not(), bitwise_xor()

二值化threshold(),颜色查找LUT()

vconcat()/hconcat()/resize()/flip()/

仿射变换,就是变形。

  • 图像直方图

calcHist()/normalize()/compareHist()/equalizeHist()

calcBackProject()/matchTemplate()

  • 滤波

用来去除噪声。椒盐噪声,高斯噪声,

filter2D()

均值滤波blur(),方框滤波boxFilter(),高斯滤波GaussianBlur(),可分离滤波sepFilter2D()

中值滤波medianBlur(),双边滤波(常用)bilateralFilter()

  • 图像边缘检测

Soble()/Schar()/Laplacian()/Canny(),Canny()常用。

  • 像素距离

欧氏,街区,棋盘

  • 图像连通域

connectedCommponents()/connectedCommponentsWithStats()

腐蚀erode()、膨胀dilate()

开运算,闭运算,形态学梯度,顶帽运算,黑帽运算,击中不击中变换

图像细化,

  • 检测

霍夫直线检测HoughLines()/HoughLinesP()/HoughLinesPointSet()

直线拟合fitLine()

圆检测HoughCircles()

轮廓检测findContours()/轮廓长度arcLength()/轮廓外接多边形boundingRect()/最小矩形minAreaRect()/外接多边形approxPolytDP()/点到轮廓距离pointPolygonTest()/凸包检测convexHull()

中心矩,几何矩moments()。

Hu矩HuMoments()/matchShapes()

  • 点集拟合

minEnclosingTriangle()

  • 二维码

detect()/decode()/detectAndDecode()

  • 变换

傅立叶变换dft()/idft()/getOptimalDFTSize()

幅值矩阵magnitude()

矩阵乘积mulSpectrums()

离散余弦变换dct()/idct()

积分integral()

  • 图像分割

漫水填充floodFill()、分水岭watershed()、grabCut(),pyrMeanShiftFiltering()

  • 图像修复

inpaint()

  • 角点检测

关键点drawKeypoints()、conerHarris()、Shi-Tomas法goodFeaturesToTrack(),亚像素cornerSubPix()

  • 特征点检测

关键点:Feature2D:detect()/compute()detectAndCompute()

SIFT特征点:xfeatures2d:SURF::detect()

ORB特征点检测:ORB::detect()

特征点匹配:DescriptorMatcher::match()/knnMatch()radiusMatch()、BFMatcher()、FlannBasedMatcher()

RANSAC特征点:findHomography()

  • 立体

非齐次转齐次:convertPointsToHomogeneous()/convertPointsFromHomogeneous()

findChessboardConners()

find4QuadCornerSubpix()

findCirclesGrid()

drawChessboardCorners()

calibrateCamera()

  • 单目相机校正

initUndistorRectifyMap()/remap()/undistort()

projectPoints()/solvePnp()/solvePnpRansac()/Rodrigues()

  • 双目相机

stereoCalibrate()

stereoRectify()

  • 视频分析

差值法检测移动物体absdiff()

均值迁移法目标跟踪meanShift()/selectROI()

自适应CamShift()

光流法:calcOpticalFlowFarneback()/cartToPolar()

LK稀疏光流法:calcOpticalFlowPyrLK()

  • 机器学习

K均值kmeans()

K邻近:StateModel::tran()/create()/predict(),Algorithm::load()/KNearest::findNearest()

决策树:DTrees::create()

随机森林:RTrees::create()

支持向量机:SVM::create()

深度学习:dnn::readNet(),图像识别blobFromImages(),

你可能感兴趣的:(图像/OpenCV,opencv,计算机视觉)