cv读取二进制图片并返回CV返回图片二进制
时间: 2023-06-20 18:07:37 浏览: 141
图片二进制转换
以下是一个示例代码,可以读取一张二进制图片并将其转换为OpenCV的图像格式,然后再将其转换回二进制格式:
```python
import numpy as np
import cv2
# 读取二进制图片数据
with open('image.bin', 'rb') as f:
img_data = f.read()
# 转换为numpy数组
img_array = np.frombuffer(img_data, dtype=np.uint8)
# 解码为OpenCV图像格式
img_cv = cv2.imdecode(img_array, cv2.IMREAD_COLOR)
# 对图像进行处理 ...
# 将图像转换回二进制格式
_, img_encoded = cv2.imencode('.png', img_cv)
# 将二进制数据写入文件或发送到其他地方 ...
with open('image_encoded.bin', 'wb') as f:
f.write(img_encoded)
```
在这里,我们首先使用Python内置的`open()`函数读取二进制图像数据。然后,我们使用NumPy的`frombuffer()`函数将数据转换为NumPy数组。接下来,我们使用OpenCV的`imdecode()`函数将数组解码为OpenCV图像格式。
现在,我们可以对图像进行任何所需的处理,例如应用滤波器、裁剪、缩放等等。完成处理后,我们使用OpenCV的`imencode()`函数将图像编码回二进制格式。最后,我们使用`open()`函数再次打开一个文件,并使用`write()`函数将编码后的二进制数据写入该文件中。
阅读全文