opencv imdecode读取二进制图片后进行图像等比例放缩
时间: 2024-01-10 15:04:33 浏览: 144
使用 OpenCV 的 `imdecode` 函数读取二进制图片后,可以使用 `resize` 函数对图像进行等比例放缩。
具体步骤如下:
1. 使用 `imdecode` 函数读取二进制图片,并将其存储为 `img`。
```python
import cv2
import numpy as np
# 读取二进制图片
data = open('image.bin', 'rb').read()
nparr = np.fromstring(data, np.uint8)
img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
```
2. 使用 `resize` 函数对图像进行等比例放缩。例如,将图像缩小为原来的一半。
```python
# 缩小图像为原来的一半
img_resized = cv2.resize(img, None, fx=0.5, fy=0.5, interpolation=cv2.INTER_AREA)
```
在上述代码中,`fx` 和 `fy` 分别表示水平和垂直方向的缩放比例,`interpolation` 参数为插值方法,这里选择了 `cv2.INTER_AREA`。
3. 可以将等比例放缩后的图像进行保存或显示。
```python
# 保存等比例缩放后的图像
cv2.imwrite('resized_image.jpg', img_resized)
# 显示等比例缩放后的图像
cv2.imshow('resized image', img_resized)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文