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
相关推荐
NAGNIP43 分钟前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab2 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab2 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP6 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年6 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼6 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS6 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区7 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈7 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang8 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx