python opencv实现图片压缩和解压
时间: 2023-10-10 22:12:04 浏览: 336
图片压缩和解压是图像处理中的重要环节,Python中的OpenCV库可以实现这个功能。下面是一些基本的代码示例:
## 图片压缩
```python
import cv2
# 读取图片
img = cv2.imread('input.jpg')
# 设置压缩质量
quality = 50
# 将图片转换为JPEG格式并压缩
encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), quality]
result, encimg = cv2.imencode('.jpg', img, encode_param)
# 将压缩后的数据写入文件
with open('output.jpg', 'wb') as f:
f.write(encimg)
```
## 图片解压
```python
import cv2
import numpy as np
# 读取压缩后的JPEG文件
with open('output.jpg', 'rb') as f:
encimg = f.read()
# 解压缩JPEG文件
decimg = cv2.imdecode(np.frombuffer(encimg, np.uint8), cv2.IMREAD_COLOR)
# 显示解压缩后的图片
cv2.imshow('image', decimg)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
以上代码中,首先使用`cv2.imread`函数读取原始图片,然后将图片转换为JPEG格式并设置压缩质量,使用`cv2.imencode`函数进行图片压缩。将压缩后的数据写入文件后,使用`cv2.imdecode`函数进行图片解压缩,然后使用`cv2.imshow`函数显示解压缩后的图片。
阅读全文