matlab比较余弦变换后的频谱图的不同取值对图像清晰度的影响代码
时间: 2024-02-02 17:04:07 浏览: 140
基于matlab利用DCT变换对灰度图像进行压缩,求出压缩比;对比不同压缩比的图像
5星 · 资源好评率100%
以下是Matlab代码,比较对DCT变换后的频谱图不同取值的影响:
```matlab
% 读入图像并转换为灰度图像
img = imread('image.jpg');
gray_img = rgb2gray(img);
% 对灰度图像进行DCT变换
dct_img = dct2(gray_img);
% 计算变换后的频谱图
dct_spectrum = log(abs(dct_img));
% 显示原始图像和DCT变换后的频谱图
subplot(2, 2, 1);
imshow(gray_img);
title('Original Image');
subplot(2, 2, 2);
imshow(dct_spectrum, []);
title('DCT Spectrum');
% 将频谱图中一部分系数置为0
dct_img1 = dct_img;
dct_img1(1:64, 1:64) = 0;
idct_img1 = idct2(dct_img1);
subplot(2, 2, 3);
imshow(idct_img1, []);
title('DCT Spectrum: 64 coefficients');
% 将频谱图中更多系数置为0
dct_img2 = dct_img;
dct_img2(1:128, 1:128) = 0;
idct_img2 = idct2(dct_img2);
subplot(2, 2, 4);
imshow(idct_img2, []);
title('DCT Spectrum: 128 coefficients');
```
其中,'image.jpg'是需要处理的图像文件名,可以根据实际情况进行修改。运行代码后,会显示原始图像和DCT变换后的频谱图,并将频谱图中一部分系数置为0,再进行IDCT逆变换。可以通过改变置为0的系数个数,比较不同取值对图像清晰度的影响。
阅读全文