同态滤波器的简易实现

本文介绍如何使用MATLAB实现同态滤波器,以增强全身PET图像的效果。通过具体代码示例和结果展示,阐述同态滤波在图像处理中的应用。
摘要由CSDN通过智能技术生成

1. 使用同态滤波增强全身PET图像

2.matlab代码实现:

clear;clc;close all;
IM1 = imread('PET_image.tif');
figure;
subplot(121);imshow(IM1);title('原始图像');

IM1 = double(IM1);%原图
IM2 = log(IM1+1); %对数变换,在指数运算后记得减去1

[row,col] = size(IM2);
P=row*2;Q=col*2;
Zxy = zeros(P,Q);
Zxy(1:row,1:col) = IM2;
Zuv=fftshift(fft2(Zxy));%经过DFT的Zxy

result_Homomorphic_f = zeros(P,Q);%同态滤波频域结果
result_Homomorphic_t = zeros(P,Q);%同态滤波空间域结果
center_x = fix(P/2);
center_y = fix(Q/2);
rL=0.5;rH=2;c=1;D0 =80;

for u=1:P
    for v=1:Q
        d_uv2 = (u-center_x)^2+(v-center_y)^2;
        H_uv = (rH-rL)*(1-exp(-c*(d_uv2/(D0*D0))))+rL;
        result_Homomorphic_f(u,v)= H_uv * Zuv(u,v);
    end
end

result_Homomorphic_t = ifft2(iff
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值