gpt4 book ai didi

image - 如何为 10 亿张 png 图像生成统一缩略图?

转载 作者:行者123 更新时间:2023-12-04 05:36:43 25 4
gpt4 key购买 nike

在应用中,大约有10亿张png图片(大小为1024*1024,每张大约1MB),需要将这10亿张图片组合成一个巨大的图片,然后生成一个大小为1024*1024 的图片。统一缩略图为了它。或者也许我们不需要真正将图像组合成一个巨大的图像,而只需执行一些神奇的算法来在计算机内存中生成单一的缩略图?同时,这个过程需要尽快完成,最好在几秒钟内完成,或者至少在几分钟内完成。有没有人有想法?

enter image description here

最佳答案

将十亿张图像加载到单个图像中的想法 montage过程很荒谬。您的问题不清楚,但您的方法应该是确定每个原始图像在最终图像中的数量,然后从每个图像中并行提取必要数量的像素。然后将这些像素组合成最终图像。

因此,如果每个图像都由最终图像中的一个像素表示,则需要获取每个图像的平均值,您可以这样做:

convert image1.png image2.png ... -format "%[fx:mean.r],%[fx:mean.g],%[fx:mean.b]:%f\n" info:

样本输出
0.423529,0.996078,0:image1.png
0.0262457,0,0:image2.png

然后你可以非常快地与 并行执行此操作。 GNU 并行 ,使用类似
find . -name \*.png -print0 | parallel -0 convert {} -format "%[fx:mean.r],%[fx:mean.g],%[fx:mean.b]:%f\n" info:

然后您可以制作最终图像并将单个像素放入。

即使扫描 1,000,000 个 PNG 文件也可能需要很多小时......

你没有说你的图像有多大,但如果它们每个大约 1MB,并且你有 1,000,000,000,那么你需要做 1 PB 的 I/O 来读取它们,所以即使有 500MB/s 的超快速 SSD,您将在那里待 23 天。

关于image - 如何为 10 亿张 png 图像生成统一缩略图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42220502/

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