gpt4 book ai didi

python - 使用 Python 从 Protobuf 解码图像

转载 作者:太空宇宙 更新时间:2023-11-03 21:33:43 26 4
gpt4 key购买 nike

我有一张图像,我已经编码并使用 protobuf 发送出去,如下所示:

message.image = numpy.ndarray.tobytes(image)

当我收到并解析该消息时,我使用这个:

image_array = numpy.frombuffer(request.image, numpy.uint8)

这给了我一个一维数组。我无法将其恢复为图像格式。我试过像这样使用 numpy 的 reshape 命令,但没有成功:

image = image_array.reshape( 400, 600, 3 )

发送的图像为 400x600 像素,是一张 3 channel 彩色图像。关于我遗漏的任何建议?

最佳答案

您还需要存储要编码的原始图像的 img.shape 数据,整个解码过程中您需要该 img.shape 值来 reshape 矩阵其原始形式为:

import numpy as np

# Create a dummy matrix
img = np.ones((50, 50, 3), dtype=np.uint8) * 255
# Save the shape of original matrix.
img_shape = img.shape

message_image = np.ndarray.tobytes(img)

re_img = np.frombuffer(message_image, dtype=np.uint8)

# Convert back the data to original image shape.
re_img = np.reshape(re_img, img_shape)

关于python - 使用 Python 从 Protobuf 解码图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44060763/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com