opencv读取图片转二进制并进行bs64编码
时间: 2023-08-02 12:05:22 浏览: 79
好的,您可以使用OpenCV库来读取图片,然后使用Python自带的base64库进行编码,代码如下:
```python
import cv2
import base64
# 读取图片
img = cv2.imread('image.jpg')
# 将图片转为二进制
_, img_binary = cv2.imencode('.jpg', img)
# 进行base64编码
b64_encoded = base64.b64encode(img_binary)
# 打印编码结果
print(b64_encoded)
```
请将代码中的 `image.jpg` 替换为您要转码的图片路径,然后运行即可。
相关问题
cv读取二进制图片并返回CV返回图片二进制
以下是一个示例代码,可以读取一张二进制图片并将其转换为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()`函数将编码后的二进制数据写入该文件中。
阅读全文