gpt4 book ai didi

image - 如何使用 Julia 将数组保存到 RAM 中的 PNG 图像?

转载 作者:行者123 更新时间:2023-12-04 09:01:15 25 4
gpt4 key购买 nike

将图像保存为 PNG 文件不是问题,以下代码工作正常(使用 Julia 1.5、FileIO 1.4.1 和 ImageIO 0.3.0):

using FileIO

image = rand(UInt8, 200, 150, 3)
save("test.png", image)
但是,我找不到如何将 PNG 图像保存到 RAM 缓冲区。我试过这个:
io = IOBuffer()
save(Stream(format"PNG", io), image)
data = take!(io)
没有错误,但结果数据太小了:只有 809 字节(而不是 test.png 文件大约 90kB)。
我究竟做错了什么?

最佳答案

您的 I/O 代码是正确的,但您错误地生成了随机图像。
它应该是:

using Images
image = [RGB(rand(N0f8,3)...) for x in 1:200, y in 1:150]
现在两个 png文件和缓冲区将具有相同的字节大小(由于 png 被压缩,因此每次随机运行的确切数字会有所不同):
julia> save(Stream(format"PNG", io), image)
90415

关于image - 如何使用 Julia 将数组保存到 RAM 中的 PNG 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63555097/

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