MATLAB图像比例变换及傅里叶变换频谱分析
使用MATLAB进行图像比例变换并分析傅里叶变换频谱
本文使用MATLAB代码演示了对黑白图像进行放大和缩小的比例变换,并分析了比例变换对图像傅里叶变换频谱的影响。
代码示例:
% 构造黑白图像
image_size = 512; % 图像大小
image = zeros(image_size); % 初始化图像为全黑
square_size = round(image_size / 4); % 方块大小
square_start = round(image_size / 2) - round(square_size / 2); % 方块起始位置
image(square_start:square_start+square_size-1, square_start:square_start+square_size-1) = 1; % 在中间区域产生白色方块
% 显示原图像
figure;
subplot(1,2,1);
imshow(image);
title('Original Image');
% 进行放大和缩小的比例变换
scale_factor = 2; % 放大或缩小的比例因子
scaled_image = imresize(image, scale_factor); % 比例变换后的图像
% 显示放大或缩小后的图像
subplot(1,2,2);
imshow(scaled_image);
if scale_factor > 1
title('Scaled Up Image');
else
title('Scaled Down Image');
end
% 计算原图像和变换后图像的傅里叶变换频谱图
fft_image = fftshift(fft2(image));
fft_scaled_image = fftshift(fft2(scaled_image));
% 显示原图像的傅里叶变换频谱图
figure;
subplot(1,2,1);
imshow(log(1 + abs(fft_image)), []);
title('FFT of Original Image');
% 显示变换后图像的傅里叶变换频谱图
subplot(1,2,2);
imshow(log(1 + abs(fft_scaled_image)), []);
if scale_factor > 1
title('FFT of Scaled Up Image');
else
title('FFT of Scaled Down Image');
end
分析:
运行以上代码,将会得到两幅图像以及两幅傅里叶变换频谱图。原图像的中间区域为白色方块,变换后图像的中间区域的大小会根据比例因子进行相应的放大或缩小。
通过观察傅里叶变换频谱图,可以得到以下分析:
-
原图像的傅里叶变换频谱图是对称的,且中心区域较亮。这是因为原图像中的方块在空间域中的高频分量对应于傅里叶变换频谱图中的低频分量。
-
变换后图像的傅里叶变换频谱图的中心区域会根据放大或缩小的比例因子而发生变化。当比例因子大于1时,中心区域会相应放大;当比例因子小于1时,中心区域会相应缩小。
-
变换后图像的傅里叶变换频谱图的对称性仍然存在,且中心区域的亮度也会根据放大或缩小的比例因子发生变化。较大的比例因子会导致中心区域更亮,而较小的比例因子则会导致中心区域较暗。
总之,比例变换会对图像的傅里叶变换频谱图产生相应的影响。放大会导致傅里叶变换频谱图中的低频分量增强,而缩小则会导致低频分量减弱。
结论:
通过对图像进行比例变换,我们可以观察到其傅里叶变换频谱图的明显变化。这些变化反映了图像在频域中的特征,为进一步的图像处理和分析提供了重要参考。
原文地址: https://www.cveoy.top/t/topic/phWl 著作权归作者所有。请勿转载和采集!