matlab中频域滤波中循环处理图像的代码
时间: 2023-05-23 07:05:12 浏览: 150
应用Matlab对语音信号进行频谱分析及滤波完整代码
5星 · 资源好评率100%
A:
以下是在Matlab中针对频域滤波进行循环处理图像的代码:
% 读入图像
img = imread('test.jpg');
% 转为灰度图像
gray_img = rgb2gray(img);
% 图像大小
[m, n] = size(gray_img);
% 频域变换(使用快速傅里叶变换)
f = fft2(gray_img);
% 移动零频至中心
fs = fftshift(f);
% 创建理想高通滤波器
r = 60; % 我们想要过滤掉所有频率小于60的内容
h = fspecial('disk', r);
highpassfilter = 1 - h ./ max(h(:));
% 创建经过频域滤波器的图像
fs_filtered = fs .* highpassfilter;
% 移动零频回原位
f_filtered = ifftshift(fs_filtered);
% 逆变换(使用快速傅里叶逆变换)
filtered_image = real(ifft2(f_filtered));
% 显示结果
imshow(filtered_image);
阅读全文