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
相关推荐
模型时代6 分钟前
热力学计算技术或将大幅降低AI图像生成能耗
人工智能
企业老板ai培训7 分钟前
从九尾狐AI实战案例拆解AI短视频获客的架构设计:智能矩阵如何提升企业效率?
人工智能
lixzest11 分钟前
目标检测算法应用工程师 面试高频题 + 标准答案
python·yolo·目标检测·计算机视觉
龙腾AI白云17 分钟前
知识图谱如何在制造业实际落地应用
人工智能·知识图谱
力学与人工智能18 分钟前
“高雷诺数湍流数据库的构建及湍流机器学习集成研究”湍流重大研究计划集成项目顺利结题
数据库·人工智能·机器学习·高雷诺数·湍流·重大研究计划·项目结题
娟宝宝萌萌哒28 分钟前
智能体设计模式重点
人工智能·设计模式
乾元40 分钟前
绕过艺术:使用 GANs 对抗 Web 防火墙(WAF)
前端·网络·人工智能·深度学习·安全·架构
蝈蝈tju44 分钟前
Vibe Coding 正确姿势: 先会指挥, 再让AI干
人工智能·经验分享·ai
想你依然心痛1 小时前
AI 换脸新纪元:Facefusion 人脸融合实战探索
人工智能·换脸·facefusion·人脸融合
马士兵教育1 小时前
计算机专业学生入行IT行业,编程语言如何选择?
java·开发语言·c++·人工智能·python