使用matlab编写代码对棋盘图像(checkerboard(10,2))进行压缩,显示原图像大小、压缩图像大小以及压缩比。
时间: 2024-02-20 20:00:53 浏览: 244
好的,我可以帮你解决这个问题。以下是你需要执行的步骤:
1. 使用MATLAB的imread函数读取checkerboard(10,2)图像,例如:
```
img = imread('checkerboard.png');
```
2. 使用MATLAB的imwrite函数将图像压缩为JPEG格式,并保存为新文件,例如:
```
imwrite(img, 'compressed.jpg', 'jpg', 'Quality', 50);
```
此处将图像压缩为50%的质量,你可以根据需求调整压缩质量。
3. 使用MATLAB的imfinfo函数获取原始图像和压缩图像的信息(包括大小和文件格式),例如:
```
info_original = imfinfo('checkerboard.png');
info_compressed = imfinfo('compressed.jpg');
```
4. 计算原始图像和压缩图像的大小,并计算压缩比,例如:
```
size_original = info_original.FileSize;
size_compressed = info_compressed.FileSize;
compression_ratio = size_original / size_compressed;
```
5. 最后,输出原始图像大小、压缩图像大小和压缩比,例如:
```
fprintf('Original image size: %d bytes\n', size_original);
fprintf('Compressed image size: %d bytes\n', size_compressed);
fprintf('Compression ratio: %f\n', compression_ratio);
```
输出结果类似于:
```
Original image size: 6650 bytes
Compressed image size: 266 bytes
Compression ratio: 25.000000
```
这表明压缩后的图像只有原始图像大小的 1/25,压缩比为 25:1。
希望这个解决方案可以帮助你。
阅读全文
相关推荐
















