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
相关推荐
零售ERP菜鸟9 分钟前
范式革命:从“信息化”到“数字化”的本质跃迁
大数据·人工智能·职场和发展·创业创新·学习方法·业界资讯
光羽隹衡12 分钟前
计算机视觉——Opencv(图像拼接)
人工智能·opencv·计算机视觉
SEO_juper28 分钟前
2026内容营销破局指南:告别流量内卷,以价值赢信任
人工智能·ai·数字营销·2026
初恋叫萱萱30 分钟前
数据即燃料:用 `cann-data-augmentation` 实现高效训练预处理
人工智能
一战成名99639 分钟前
CANN 仓库揭秘:昇腾 AI 算子开发的宝藏之地
人工智能
hnult1 小时前
2026 在线培训考试系统选型指南:核心功能拆解与选型逻辑
人工智能·笔记·课程设计
A小码哥1 小时前
AI 设计时代的到来:从 PS 到 Pencil,一个人如何顶替一个团队
人工智能
AIGCmitutu1 小时前
PS 物体底部阴影怎么做?3 步做出自然逼真的投影效果
人工智能·电子商务·photoshop·ps·美工
开源技术1 小时前
Claude Opus 4.6 发布,100万上下文窗口,越贵越好用
人工智能·python
聆风吟º1 小时前
CANN hccl 深度解析:异构计算集群通信库的跨节点通信与资源管控实现逻辑
人工智能·wpf·transformer·cann