图像的压缩matlab代码
时间: 2024-10-22 09:00:23 浏览: 13
基于DCT变换的图像压缩Matlab代码
在MATLAB中,图像压缩通常可以使用JPEG编码或者直方图均衡化等技术来实现。下面是一个简单的例子,展示如何使用内置函数对图像进行JPEG压缩:
```matlab
% 加载一张图片
img = imread('your_image.jpg'); % 替换为你要压缩的图片文件名
% 定义质量等级,范围通常是0到100,值越小,压缩比例越大,但质量会降低
quality = 75; % 可调整这个参数来改变压缩程度
% 使用imwrite函数并指定JPEG作为压缩格式
compressed_img = imwrite(img, 'compressed_image.jpg', 'Quality', quality);
% 查看原始图像大小和压缩后的图像大小
original_size = size(img);
compressed_size = size(compressed_img);
% 打印信息
fprintf('Original image size: %d x %d\n', original_size(1), original_size(2));
fprintf('Compressed image size: %d x %d (with JPEG quality level %d)\n', compressed_size(1), compressed_size(2), quality);
```
如果你想要使用直方图均衡化来改善图像压缩后的视觉效果,可以先进行这一步操作,然后再保存:
```matlab
% 对图像做直方图均衡化
equalized_img = imhisteq(img);
% 然后将均衡化的图像压缩
imwrite(equalized_img, 'compressed_image_equil.jpg', 'Quality', quality);
```
阅读全文