JupyterLab写一个测量两张jpg格式的彩色图像的压缩率的代码
时间: 2024-02-22 07:58:00 浏览: 130
图像压缩代码
4星 · 用户满意度95%
好的,以下是测量两张JPG格式彩色图像压缩率的代码:
```python
import os
import numpy as np
import cv2
# 读入两张彩色图像
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
# 获取两张图像的尺寸信息
h1, w1, _ = img1.shape
h2, w2, _ = img2.shape
# 获取两张图像的数据大小(单位:字节)
size1 = os.path.getsize('image1.jpg')
size2 = os.path.getsize('image2.jpg')
# 计算两张图像的压缩率(压缩后的大小 / 原始大小)
ratio1 = size1 / (h1 * w1 * 3)
ratio2 = size2 / (h2 * w2 * 3)
# 输出结果
print('image1.jpg 的压缩率为:', ratio1)
print('image2.jpg 的压缩率为:', ratio2)
```
需要注意的是,上述代码中计算压缩率仅仅是计算了压缩后的文件大小与原始图像数据大小的比值,并没有进行实际的压缩操作。如果需要进行压缩,可以使用OpenCV提供的imwrite函数,如下所示:
```python
# 压缩图像并保存
cv2.imwrite('compressed_image1.jpg', img1, [cv2.IMWRITE_JPEG_QUALITY, 50])
cv2.imwrite('compressed_image2.jpg', img2, [cv2.IMWRITE_JPEG_QUALITY, 50])
```
在上述代码中,[cv2.IMWRITE_JPEG_QUALITY, 50]表示使用JPEG格式进行压缩,并设置压缩质量为50。可以根据实际需求调整压缩质量参数。
阅读全文