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
相关推荐
AI科技2 分钟前
原创音乐人搭配AI编曲软件,编曲音源下载哪个软件
人工智能
JQLvopkk2 分钟前
C# 实践AI :Visual Studio + VSCode 组合方案
人工智能·c#·visual studio
饭饭大王6664 分钟前
CANN 生态深度整合:使用 `pipeline-runner` 构建高吞吐视频分析流水线
人工智能·音视频
初恋叫萱萱4 分钟前
CANN 生态中的异构调度中枢:深入 `runtime` 项目实现高效任务编排
人工智能
简佐义的博客6 分钟前
生信入门进阶指南:学习顶级实验室多组学整合方案,构建肾脏细胞空间分子图谱
人工智能·学习
无名修道院6 分钟前
自学AI制作小游戏
人工智能·lora·ai大模型应用开发·小游戏制作
晚霞的不甘15 分钟前
CANN × ROS 2:为智能机器人打造实时 AI 推理底座
人工智能·神经网络·架构·机器人·开源
互联网Ai好者19 分钟前
MiyoAI数参首发体验——不止于监控,更是你的智能决策参谋
人工智能
island131419 分钟前
CANN HIXL 通信库深度解析:单边点对点数据传输、异步模型与异构设备间显存直接访问
人工智能·深度学习·神经网络
初恋叫萱萱24 分钟前
CANN 生态中的图优化引擎:深入 `ge` 项目实现模型自动调优
人工智能