【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()、光流

相关推荐
Blossom.11815 分钟前
基于深度学习的图像分类:使用Capsule Networks实现高效分类
人工智能·python·深度学习·神经网络·机器学习·分类·数据挖掘
格林威1 小时前
Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现沙滩小人检测识别(C#代码UI界面版)
人工智能·深度学习·数码相机·yolo·计算机视觉
lxmyzzs2 小时前
【打怪升级 - 03】YOLO11/YOLO12/YOLOv10/YOLOv8 完全指南:从理论到代码实战,新手入门必看教程
人工智能·神经网络·yolo·目标检测·计算机视觉
Coovally AI模型快速验证2 小时前
数据集分享 | 智慧农业实战数据集精选
人工智能·算法·目标检测·机器学习·计算机视觉·目标跟踪·无人机
xw33734095642 小时前
彩色转灰度的核心逻辑:三种经典方法及原理对比
人工智能·python·深度学习·opencv·计算机视觉
蓝桉8022 小时前
opencv学习(图像金字塔)
人工智能·opencv·学习
牵牛老人4 小时前
OpenCV学习探秘之二 :数字图像的矩阵原理,OpenCV图像类与常用函数接口说明,及其常见操作核心技术详解
opencv·学习·矩阵
Gession-杰5 小时前
OpenCV图像梯度、边缘检测、轮廓绘制、凸包检测大合集
人工智能·opencv·计算机视觉
计算机sci论文精选5 小时前
CVPR 2024 3D传感框架实现无监督场景理解新纪元
人工智能·机器学习·计算机视觉·3d·cvpr·传感技术
钟屿5 小时前
Multiscale Structure Guided Diffusion for Image Deblurring 论文阅读
论文阅读·图像处理·人工智能·深度学习·计算机视觉