Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python将numpy数组输出为base64编码字符串,而不是jpg_Python_Numpy - Fatal编程技术网

Python将numpy数组输出为base64编码字符串,而不是jpg

Python将numpy数组输出为base64编码字符串,而不是jpg,python,numpy,Python,Numpy,我有一个简单的Python3脚本,它使用以下命令从numpy数组创建图像 cv2.imwrite("finalImage.jpg", numpyArray) 这工作正常,但现在我希望输出base64编码字符串,而不是jpg图像 我知道我可以将输出的jpg图像转换为base64字符串,但有没有办法直接转换,这样我就可以跳过输出jpg的额外步骤?您可以使用将图像写入内存缓冲区: import base64 _, imagebytes = cv2.imencode('.jpg', numpyArr

我有一个简单的Python3脚本,它使用以下命令从numpy数组创建图像

cv2.imwrite("finalImage.jpg", numpyArray) 
这工作正常,但现在我希望输出base64编码字符串,而不是jpg图像

我知道我可以将输出的jpg图像转换为
base64
字符串,但有没有办法直接转换,这样我就可以跳过输出jpg的额外步骤?

您可以使用将图像写入内存缓冲区:

import base64
_, imagebytes = cv2.imencode('.jpg', numpyArray)
print(base64.b64encode(imagebytes))
success, buffer = cv2.imencode('.jpg', numpyArray)
success,buffer=cv2.imencode('.jpg',numpyArray)
例如,您可以将base64编码为:

from base64 import b64encode

encoded_image = b64encode(buffer)
从base64导入b64encode

encoded_image=b64encode(缓冲区)
感谢这一完美的解决方案,效果良好。感谢链接到文档,阅读它们,现在确保我完全理解正在发生的事情