opencv 未知函数记录-edgePreservingFilter

cv::edgePreservingFilter 是 OpenCV 里一个在平滑图像的同时尽量保持边缘的滤波器,常用于去噪、HDR / tone-mapping 预处理、以及需要"磨皮但不糊边"的场景。

1️⃣ 基本说明

函数原型(C++)

复制代码

void cv::edgePreservingFilter( InputArray src, OutputArray dst, int flags = 1, float sigma_s = 60, float sigma_r = 0.4f );

Python

复制代码

cv2.edgePreservingFilter(src, dst, flags=1, sigma_s=60, sigma_r=0.4)

2️⃣ 参数含义(重点)

🔹 flags(滤波类型)

flags 模式 说明
cv::RECURS_FILTER (1) 递归滤波 更快,适合实时
cv::NORMCONV_FILTER (2) 归一化卷积 质量更高,速度慢

一般建议:

  • 实时 / 大图像RECURS_FILTER

  • 离线 / 高质量NORMCONV_FILTER


🔹 sigma_s(空间尺度)

  • 控制平滑范围(空间距离)

  • 值越大 → 平滑区域越大

典型范围:

复制代码

20 ~ 200

🔹 sigma_r(颜色/强度相似性)

  • 控制边缘保留强度

  • 值越小 → 越保护边缘

  • 值越大 → 越像普通模糊

典型范围:

复制代码

0.1 ~ 1.0

4️⃣ 和其他滤波的区别(你做光学/测量时很关键)

方法 特点
GaussianBlur 快,但糊边
medianBlur 去椒盐噪声强
bilateralFilter 边缘保持好,但
edgePreservingFilter 双边 + 优化版,速度和效果平衡
guidedFilter 结构保持最好(ximgproc)

实际上 edgePreservingFilter ≈ 快速双边滤波 + 边缘感知权重

❌ 会改变局部亮度统计

  • 不适合直接用于:

    • 亮度均匀性定量分析

    • MTF / PSF 原始数据

✔ 适合:

  • 缺陷检测前预处理

  • 边缘定位前降噪

  • 坏点 / 亮斑区域平滑

6️⃣ 实测参数推荐(偏工业图像)

场景 sigma_s sigma_r
亮斑 / flare 预处理 50--100 0.2--0.4
显示面亮度图 80--150 0.3--0.6
纹理保留 30--60 0.1--0.25
相关推荐
1941s13 小时前
Google Agent Development Kit (ADK) 指南 第二章:环境搭建与快速开始
人工智能·python·adk·google agent
抓个马尾女孩13 小时前
位置编码:绝对位置编码、相对位置编码、旋转位置编码
人工智能·深度学习·算法·transformer
风酥糖13 小时前
AI时代的技术焦虑与自我救赎
人工智能
高工智能汽车13 小时前
前沿之声 | 塑造自动驾驶体验的半导体技术
人工智能·机器学习·自动驾驶
跨境Tool哥14 小时前
AdsPower 智能体浏览器:为 AI Agent 提供稳定的浏览器环境
人工智能
jinanwuhuaguo14 小时前
AI工具终极解构:OpenClaw、Coze、Dify、FastGPT、n8n、LangChain、RagFlow、GPTBots.ai 的万言深度剖析
人工智能·学习·重构·新人首发·openclaw
Are_You_Okkk_14 小时前
多场景适配视角下AI开源知识库的部署实践与应用反思
人工智能·开源
YFJ_mily14 小时前
【杭州线下召开】2026年计算智能与机器学习国际学术会议(CIML 2026)
人工智能·机器学习
LS_learner14 小时前
OpenCode的Agent skill创建方式
人工智能
云布道师14 小时前
OSS 向量 Bucket 最佳实践:快速构建多模态图片语义检索
人工智能