【OpenCV】OpenCV算子功能分类

在 OpenCV 中,算子(Operators)可以根据功能分类为不同的类别,主要包括图像处理、特征检测、几何变换等。以下是 OpenCV 算子的主要分类:


1️⃣ 图像处理算子(Image Processing Operators)

用于对图像进行平滑、锐化、边缘检测等操作。

📌 滤波与去噪

  • cv2.blur() ------ 均值滤波
  • cv2.GaussianBlur() ------ 高斯滤波
  • cv2.medianBlur() ------ 中值滤波
  • cv2.bilateralFilter() ------ 双边滤波(保留边缘)
  • cv2.fastNlMeansDenoising() ------ 非局部均值去噪

📌 边缘检测

  • cv2.Sobel() ------ Sobel 算子
  • cv2.Scharr() ------ Scharr 算子(更精确的 Sobel 变种)
  • cv2.Laplacian() ------ 拉普拉斯算子
  • cv2.Canny() ------ Canny 边缘检测

2️⃣ 形态学算子(Morphological Operators)

用于处理二值图像(如去噪、骨架化、填充等)。

  • cv2.erode() ------ 腐蚀
  • cv2.dilate() ------ 膨胀
  • cv2.morphologyEx() ------ 形态学变换(包括开运算、闭运算、梯度、顶帽、黑帽)
    • cv2.MORPH_OPEN ------ 开运算(去除小噪点)
    • cv2.MORPH_CLOSE ------ 闭运算(填充小孔洞)
    • cv2.MORPH_GRADIENT ------ 形态梯度
    • cv2.MORPH_TOPHAT ------ 顶帽
    • cv2.MORPH_BLACKHAT ------ 黑帽

3️⃣ 颜色空间转换算子(Color Space Operators)

用于颜色空间变换。

  • cv2.cvtColor() ------ 颜色空间转换(RGB ↔ 灰度、HSV、YCrCb、Lab 等)
  • cv2.split() ------ 拆分通道
  • cv2.merge() ------ 合并通道

常见的转换模式:

  • cv2.COLOR_BGR2GRAY ------ BGR → 灰度
  • cv2.COLOR_BGR2HSV ------ BGR → HSV
  • cv2.COLOR_BGR2LAB ------ BGR → LAB
  • cv2.COLOR_BGR2YCrCb ------ BGR → YCrCb

4️⃣ 几何变换算子(Geometric Transform Operators)

用于图像的缩放、旋转、平移、透视变换等。

  • cv2.resize() ------ 图像缩放
  • cv2.warpAffine() ------ 线性变换(平移、旋转、仿射变换)
  • cv2.warpPerspective() ------ 透视变换
  • cv2.getRotationMatrix2D() ------ 生成旋转矩阵
  • cv2.getAffineTransform() ------ 生成仿射变换矩阵
  • cv2.getPerspectiveTransform() ------ 生成透视变换矩阵

5️⃣ 特征检测与匹配(Feature Detection & Matching)

用于检测关键点、描述子、匹配特征点等。

📌 角点检测

  • cv2.cornerHarris() ------ Harris 角点检测
  • cv2.goodFeaturesToTrack() ------ Shi-Tomasi 角点检测

📌 关键点检测

  • cv2.SIFT_create() ------ SIFT(尺度不变特征变换)
  • cv2.SURF_create() ------ SURF(加速鲁棒特征,OpenCV 3.4 以上需手动编译)
  • cv2.ORB_create() ------ ORB(快速、免专利)
  • cv2.BRISK_create() ------ BRISK
  • cv2.AKAZE_create() ------ AKAZE

📌 特征匹配

  • cv2.BFMatcher() ------ 暴力匹配
  • cv2.FlannBasedMatcher() ------ FLANN(快速最近邻搜索)

6️⃣ 轮廓检测(Contour Detection)

用于检测图像中的闭合轮廓。

  • cv2.findContours() ------ 轮廓检测
  • cv2.drawContours() ------ 画出轮廓
  • cv2.approxPolyDP() ------ 轮廓近似
  • cv2.convexHull() ------ 计算凸包
  • cv2.boundingRect() ------ 计算最小外接矩形
  • cv2.minEnclosingCircle() ------ 计算最小外接圆

7️⃣ 直线和形状检测(Line & Shape Detection)

用于检测图像中的直线、圆等几何形状。

  • cv2.HoughLines() ------ 经典霍夫变换检测直线
  • cv2.HoughLinesP() ------ 概率霍夫变换(更快)
  • cv2.HoughCircles() ------ 霍夫圆检测
  • cv2.fitEllipse() ------ 拟合椭圆
  • cv2.fitLine() ------ 拟合直线

8️⃣ 直方图处理(Histogram Processing)

用于图像对比度增强、均衡化等。

  • cv2.calcHist() ------ 计算直方图
  • cv2.equalizeHist() ------ 直方图均衡化
  • cv2.createCLAHE() ------ 自适应直方图均衡化(CLAHE)

9️⃣ 机器学习相关(ML & DNN)

📌 传统机器学习

  • cv2.ml.KNearest_create() ------ kNN
  • cv2.ml.SVM_create() ------ SVM
  • cv2.ml.DTrees_create() ------ 决策树
  • cv2.ml.ANN_MLP_create() ------ 多层感知机(神经网络)

📌 深度学习(DNN 模块)

  • cv2.dnn.readNet() ------ 读取预训练神经网络
  • cv2.dnn.blobFromImage() ------ 预处理图像以输入神经网络

🔟 视频处理(Video Processing)

用于视频的帧处理、背景建模等。

  • cv2.VideoCapture() ------ 读取视频/摄像头
  • cv2.VideoWriter() ------ 保存视频
  • cv2.calcOpticalFlowPyrLK() ------ Lucas-Kanade 光流
  • cv2.calcOpticalFlowFarneback() ------ Farneback 光流
  • cv2.createBackgroundSubtractorMOG2() ------ 背景建模

📝 总结

类别 主要算子
图像处理 滤波、边缘检测(Sobel、Canny)
形态学处理 腐蚀、膨胀、开闭运算
颜色空间转换 cvtColor()(RGB ↔ HSV)
几何变换 resize()warpAffine()
特征检测 Harris、SIFT、ORB
轮廓检测 findContours()drawContours()
形状检测 霍夫变换、椭圆拟合
直方图处理 直方图均衡化(CLAHE)
机器学习 SVM、kNN、DNN
视频处理 VideoCapture()、光流

相关推荐
m沐沐1 小时前
【计算机视觉】人脸识别三大经典算法:LBPH、Eigenfaces、FisherFaces 原理与实战
图像处理·人工智能·深度学习·opencv·算法·机器学习·计算机视觉
动物园猫2 小时前
人群密度目标检测数据集:8,000张图像 | 目标检测
人工智能·目标检测·计算机视觉
Microvision维视智造4 小时前
买视觉系统踩过的坑,都是选型时没问对的问题,真实案例手把手教你选择视觉合作伙伴!
人工智能·计算机视觉·视觉检测·机器视觉
BSD_CGQ4 小时前
FSR压力传感器的MCU采集方案与校准算法实现
人工智能·计算机视觉·目标跟踪·adc·压力传感器·fsr·深圳源头厂家
动物园猫16 小时前
人体部位目标检测数据集:5类别、7,000张图像 | 目标检测
人工智能·目标检测·计算机视觉
小保CPP1 天前
OpenCV C++基于AI模型的场景文本识别(OCR)
c++·人工智能·opencv·计算机视觉·ocr
Nomarsgo1 天前
研华17寸工业显示器 FPM-217在智能制造产线中的应用方案
人工智能·科技·计算机视觉·视觉检测·电脑
Promise微笑1 天前
电力电缆故障分类与精准定位:物理机制、诊断挑战及前沿技术
人工智能·分类·数据挖掘
神奇霸王龙2 天前
GB/T 46886 闭环屠夫:5 旗舰多模态 LLM 工业质检实测
人工智能·计算机视觉·ai·开源·ai编程·本地部署
Microvision维视智造2 天前
10ppm是什么概念?锂电生产管控国标给AI视觉下了硬指标
人工智能·计算机视觉·视觉检测·机器视觉