读入一幅模糊图像(或者读入一幅图像,进行模糊处理),进行高频增强滤波处理, % 同屏显示原始图像和滤波后的图像,标明截止频率和提升参数。利用MATLAB实现
时间: 2023-12-24 19:05:42 浏览: 91
基于MATLAB图像操作系统包括边缘检测,模糊,滤波,傅里叶变换,图像增强等操作带APP界面 +含代码操作演示视频
5星 · 资源好评率100%
以下是MATLAB代码实现:
```matlab
% 读入图像并显示
img = imread('input.jpg');
figure, imshow(img), title('原始图像');
% 将图像进行模糊处理
h = fspecial('motion', 30, 45);
blur_img = imfilter(img, h, 'replicate');
figure, imshow(blur_img), title('模糊图像');
% 进行高频增强滤波处理
D0 = 30; % 截止频率
alpha = 1.5; % 提升参数
[H, W] = size(img);
[U, V] = meshgrid(1:W, 1:H);
D = sqrt((U-W/2).^2 + (V-H/2).^2);
Hpf = (1 + alpha * (D0 ./ D)).^(-1);
enhance_img = real(ifft2(ifftshift(fftshift(fft2(blur_img)) .* Hpf)));
figure, imshow(enhance_img), title('滤波后的图像');
% 显示截止频率和提升参数
fprintf('截止频率:%d\n', D0);
fprintf('提升参数:%f\n', alpha);
```
需要注意的是,本代码实现的高频增强滤波器是理想的带阻滤波器,会在滤波后产生振铃现象。可以尝试使用其他类型的滤波器进行高频增强。
阅读全文