当前位置: 首页 > news >正文

学习心得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(),

http://www.lryc.cn/news/140053.html

相关文章:

  • ubuntu学习(五)----读取文件以及光标的移动
  • Python 数据分析——matplotlib 快速绘图
  • uniapp小程序位置信息配置
  • 《基于 Vue 组件库 的 Webpack5 配置》1.模式 Mode 和 vue-loader
  • 01.sqlite3学习——数据库概述
  • 视频集中存储/云存储平台EasyCVR国标GB28181协议接入的报文交互数据包分析
  • 容器技术,1. Docker,2. Kubernetes(K8s):
  • Jtti :sql server怎么备份数据库?
  • Stable Diffusion 系列教程 | 打破模型壁垒
  • Cypress 做 e2e 测试,如何在获得某个 checkbox 后先判断它是否被 check 然后再更改它的状态?
  • 基于PIC单片机温度-脉搏-DS18B20温度-液晶12864显示(proteus仿真+源程序)
  • 【C++进阶(一)】STL大法以及string的使用
  • leetcode做题笔记99. 恢复二叉搜索树
  • 24 | 紧跟时代步伐:微服务模式下API测试要怎么做?
  • 【论文阅读】POIROT:关联攻击行为与内核审计记录以寻找网络威胁(CCS-2019)
  • K8S cluster with multi-masters on Azure VM
  • 初阶c语言:趣味扫雷游戏
  • JVM——内存模型
  • java八股文面试[JVM]——元空间
  • 科技云报道:云计算下半场,公有云市场生变,私有云风景独好
  • Oracle 如何给大表添加带有默认值的字段
  • 记录Taro大坑2丢失api无法启动
  • Java-Maven-解决maven deploy时报 401 Reason Phrase Unauthorized 错误
  • 【数据结构】 栈(Stack)的应用场景
  • 人力资源小程序的设计原则与实现方法
  • 检查Javascript对象数组中是否存在对象值,如果没有向数组添加新对象
  • UG\NX二次开发 使用录制功能录制操作记录时,如何设置默认的开发语言?
  • 【业务功能篇83】微服务SpringCloud-ElasticSearch-Kibanan-docke安装-应用层实战
  • VBJSON报错:缺少:语句结束
  • Docker安装ES+kibana8.9.1