gpt4 book ai didi

python - 在 python 中从二进制数据保存 JPG 图像时出现问题

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

我在使用给定二进制字符串创建 JPG 图像的函数时遇到问题。该程序快速连续保存两个图像,第一个约为 300kb,第二个是同一图像的裁剪版本,约为 30kb

第一个(较大的)图像始终可以正确保存,但是第二个图像有时(可能是四分之一)会被一半切断,图像的下部是纯灰色的。在notepad++中打开图像,看起来数据突然停止写入

创建图像的函数:

def writeImage(imageData, decoded, imageNumber, config):
if imageNumber == 1:
imageSavePath = image1name
elif imageNumber == 2:
imageSavePath = image2name
print(imageSavePath)
file = open(imageSavePath, 'w+b')
file.write(imageData)
file.close

/image/TFVvu.jpg

这是图像结果的示例,被剪切的量因图像而异

最佳答案

听起来您的文件在关闭之前没有被刷新。当您关闭它时,这应该会自动发生。您的代码似乎缺少用于关闭调用的 (),例如应该是

file.close()

处理文件对象的更 Pythonic 方式是使用 with 语句作为上下文管理器。所以代码看起来像这样

def writeImage(imageData, decoded, imageNumber, config):
if imageNumber == 1:
imageSavePath = image1name
elif imageNumber == 2:
imageSavePath = image2name

print(imageSavePath)

with open(imageSavePath, 'w+b') as file:
file.write(imageData)

当您执行完 with 中嵌套的语句后,该文件将自动关闭。这可以确保您不会忘记关闭它并泄漏文件描述符。

关于python - 在 python 中从二进制数据保存 JPG 图像时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54191653/

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