matlab的傅立叶变换轮廓术仿真代码
时间: 2024-05-26 14:08:45 浏览: 168
Matlab 傅里叶变换轮廓术仿真实验代码
傅立叶变换轮廓术是一种图像处理方法,用于增强图像的边缘和轮廓特征。Matlab中有许多用于傅立叶变换轮廓术的仿真代码,以下是一个简单的示例:
```matlab
% 读取原始图像
img = imread('lena.jpg');
% 将图像转换为灰度图像
img_gray = rgb2gray(img);
% 对图像进行傅立叶变换
img_fft = fft2(img_gray);
% 构造傅立叶滤波器
[M, N] = size(img_fft);
H = zeros(M, N);
D0 = 50; % 截止频率
for u = 1:M
for v = 1:N
D = sqrt((u-M/2)^2 + (v-N/2)^2);
if D <= D0
H(u,v) = 1;
end
end
end
% 应用傅立叶滤波器
img_fft_filtered = img_fft .* H;
% 对滤波后的图像进行逆傅立叶变换
img_filtered = ifft2(img_fft_filtered);
% 显示原始图像和滤波后的图像
subplot(1,2,1);
imshow(img_gray);
title('Original Image');
subplot(1,2,2);
imshow(abs(img_filtered), []);
title('Filtered Image');
```
阅读全文