同态滤波器的图像显示Matlab
时间: 2024-05-08 15:03:04 浏览: 17
同态滤波器是一种可以增强图像的方法,通过对图像进行频域变换和空域变换,可以调整图像的亮度和对比度,使得图像更加清晰。在Matlab中,可以使用以下代码实现同态滤波器的图像显示:
```matlab
% 读取图像
img = imread('lena.png');
% 将图像转为灰度图像
img_gray = rgb2gray(img);
% 显示原始图像
subplot(1,2,1);
imshow(img_gray);
title('原始图像');
% 对图像进行同态滤波
img_filtered = homomorphic_filter(img_gray);
% 显示处理后的图像
subplot(1,2,2);
imshow(img_filtered);
title('同态滤波后的图像');
```
其中,`homomorphic_filter`是自定义的函数,用于实现同态滤波器。在使用该函数时,需要先对图像进行预处理,包括进行对数变换和高斯滤波。以下是该函数的代码:
```matlab
function img_filtered = homomorphic_filter(img)
% 对数变换
img_log = log(double(img) + 1);
% 高斯滤波
gaussian_filter = fspecial('gaussian', size(img), 10);
img_log_filtered = imfilter(img_log, gaussian_filter, 'symmetric', 'conv');
% 频域变换
img_fft = fft2(img_log_filtered);
img_fft_shift = fftshift(img_fft);
% 定义同态滤波器
D0 = 30;
n = 2;
H = zeros(size(img));
for i = 1:size(img,1)
for j = 1:size(img,2)
H(i,j) = (max(img(i,j))-min(img(i,j))) * (1 - exp(-((i-size(img,1)/2)^2+(j-size(img,2)/2)^2)/(2*D0^2)));
end
end
% 进行滤波
img_fft_filtered = H .* img_fft_shift;
img_ifft_shift = ifftshift(img_fft_filtered);
img_filtered = real(ifft2(img_ifft_shift));
% 反变换
img_filtered = exp(img_filtered) - 1;
img_filtered = uint8(img_filtered);
end
```
通过以上代码,可以实现同态滤波器的图像显示。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)