图像处理算法分类体系

全面掌握图像处理的核心算法

flowchart TD subgraph Input["输入"] IMG[输入图像] end subgraph Preprocess["预处理"] GEO[几何变换] FIL[滤波去噪] ENH[图像增强] end subgraph Feature["特征提取"] EDGE[边缘检测] LINE[直线检测] MORPH[形态学] FEAT[特征描述] end subgraph Advanced["高级处理"] SEG[图像分割] REC[图像复原] REG[图像配准] COMP[图像压缩] end subgraph Output["输出"] RESULT[分析结果] end IMG --> Preprocess Preprocess --> Feature Feature --> Advanced Advanced --> Output GEO --> GeoDetail[平移旋转缩放] FIL --> FilDetail[均值高斯中值] ENH --> EnhDetail[直方图锐化] EDGE --> EdgeDetail[Canny/Sobel] LINE --> LineDetail[Hough 变换] MORPH --> MorphDetail[腐蚀膨胀] FEAT --> FeatDetail[SIFT/HOG] SEG --> SegDetail[阈值/区域] REC --> RecDetail[去模糊去噪] REG --> RegDetail[特征配准] COMP --> CompDetail[JPEG 压缩]

算法分类详解

点击卡片查看算法详情和对比

transform 几何变换

expand_more
flowchart LR subgraph Transform["几何变换"] A[输入图像] --> B[变换矩阵] B --> C[坐标映射] C --> D[灰度插值] D --> E[输出图像] end subgraph Interpolation["插值方法"] D --> D1[最近邻] D --> D2[双线性] D --> D3[双三次] end
常见变换类型
变换类型 自由度 保持性质
平移 2 (tx, ty) 形状、大小、方向
旋转 1 (角度) 形状、大小
缩放 2 (sx, sy) 形状(均匀缩放)
仿射变换 6 平行线
透视变换 8 直线

blur_on 滤波算法

expand_more
flowchart TD subgraph SpatialFilter["空域滤波"] A[输入图像] --> B{滤波类型} B -->|平滑 | C[低通滤波] B -->|锐化 | D[高通滤波] C --> C1[均值滤波] C --> C2[高斯滤波] C --> C3[中值滤波] C --> C4[双边滤波] D --> D1[Laplacian] D --> D2[非锐化掩蔽] end subgraph FrequencyFilter["频域滤波"] A --> E[傅里叶变换] E --> F[频域滤波] F --> G[逆傅里叶变换] end
滤波器对比
滤波器 原理 优点 缺点 适用场景
均值滤波 邻域平均 简单快速 边缘模糊 轻度噪声
高斯滤波 加权平均 保边效果好 参数敏感 高斯噪声
中值滤波 排序取中值 保护边缘 计算量大 椒盐噪声
双边滤波 空间 + 灰度加权 保边去噪 速度慢 精细图像

edges 边缘检测算法

expand_more
flowchart LR subgraph FirstOrder["一阶微分算子"] A[Sobel] --> D[梯度计算] B[Prewitt] --> D C[Roberts] --> D end subgraph SecondOrder["二阶微分算子"] E[Laplacian] --> F[零交叉检测] G[LoG] --> F end subgraph Optimal["最优检测"] H[高斯平滑] --> I[Canny] I --> J[非极大值抑制] J --> K[双阈值] K --> L[边缘连接] end
算法选择指南
Sobel

快速检测,适合实时应用

Canny

最优边缘检测,精度高

Laplacian

对噪声敏感,需预处理

show_chart 直线检测算法

expand_more
sequenceDiagram participant Input as 输入图像 participant Edge as 边缘检测 participant Hough as Hough 空间 participant Accum as 累加器 participant Output as 输出直线 Input->>Edge: Canny 边缘检测 Edge->>Hough: 边缘点映射 Note over Hough: ρ = x·cosθ + y·sinθ Hough->>Accum: 投票累加 Accum->>Accum: 寻找局部最大值 Accum->>Output: 反变换得直线
Hough 变换 variants
标准 Hough 变换

遍历所有角度,计算精确但速度慢

cv2.HoughLines()
概率 Hough 变换

随机采样点,速度快,输出线段

cv2.HoughLinesP()

category 形态学操作

expand_more
flowchart TD subgraph BasicOp["基本操作"] A[输入图像] --> B{结构元素} B --> C[腐蚀] B --> D[膨胀] end subgraph CombinedOp["组合操作"] C --> E[开运算
先腐后膨] D --> F[闭运算
先膨后腐] E --> G[去除小物体] F --> H[填充孔洞] end subgraph DerivedOp["衍生操作"] G --> I[骨架化] H --> J[顶帽/底帽] end
操作效果对比
操作 效果 应用
腐蚀 缩小前景 分离物体、去噪
膨胀 扩大前景 填补空洞、连接
开运算 平滑轮廓 去除小突起
闭运算 填充孔洞 连接断裂

pie_chart 图像分割算法

expand_more
flowchart LR subgraph Traditional["传统方法"] A[阈值分割] --> A1[全局/自适应] B[区域生长] --> B1[种子点选择] C[边缘分割] --> C1[边缘连接] end subgraph Modern["现代方法"] D[图割] --> D1[能量最小化] E[分水岭] --> E1[梯度图] F[深度学习] --> F1[FCN/U-Net] end subgraph Clustering["聚类方法"] G[K-means] --> G1[迭代优化] H[Mean Shift] --> H1[密度峰值] end
分割算法对比
算法 原理 优点 缺点 复杂度
Otsu 最大类间方差 自动阈值 双峰假设 O(L)
K-means 聚类迭代 简单高效 需指定 K O(nK)
分水岭 拓扑理论 分割完整 过分割 O(nlogn)
图割 图论优化 全局最优 计算量大 O(n³)
U-Net 深度学习 精度最高 需训练数据 推理快

feature_detection 特征提取算法

expand_more
局部特征描述子对比
描述子 不变性 维度 速度
SIFT 尺度、旋转、光照 128
SURF 尺度、旋转、光照 64/128
ORB 旋转、尺度 32
HOG 几何、光照 可变
flowchart TD subgraph FeatureProcess["特征提取流程"] A[输入图像] --> B[特征点检测] B --> C[关键点定位] C --> D[方向分配] D --> E[描述子计算] E --> F[特征匹配] end subgraph Application["应用"] F --> G[目标识别] F --> H[图像拼接] F --> I[3D 重建] end