OpenCV 同态滤波 高斯高通 C++

本文介绍了如何使用OpenCV进行频域同态滤波,以压缩图像的动态范围并增强对比度。通过分解图像为入射分量和反射分量,然后在频谱域中应用高斯高通滤波器,实现对反射分量的增强。通过调整滤波参数,可以精确控制入射和反射分量的处理,适用于改善如全身PET扫描等图像的视觉效果。文中提供了一个C++代码示例,演示了同态滤波的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

图像的生成、表示及像素间的基本关系_线对和像素的关系-优快云博客 文中介绍的入射分量和反射分量模型,可开发一种频域处理过程,通过压缩灰度范围和增强对比度来改善一幅图像的外观。

频谱域同态滤波

图像可以表示为照度和反射率的乘积:

 f(x,y) = i(x,y)r(x,y) 

现在定义:

z(x,y)=ln^{f(x,y)}=ln^{i(x,y)}+ln^{r(x,y)}

则有:

\Im \left \{ z\left ( x,y \right ) \right \}=\Im \left \{ln ^{f(x,y))} \right \}=\Im \left \{ ln^{i(x,y))} \right \}+\Im \left \{ ln^{r(x,y))} \right \}

Z\left ( u,v\right ) = F_{i}(u,v)+F_{r}(u,v)

式中 F_{i}(u,v) F_{r}(u,v)分别是 ln^{i(x,y)} ln^{r(x,y)}的傅里叶变换。

然后用H(u,v)对Z(u,v)滤波

S(u,v)=H(u,v)Z(u,v) = H(u,v)F_{i}(u,v) + H(u,v)

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dwyane05

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值