gpt4 book ai didi

linux - 获取图像尺寸(不是文件大小)的快速方法

转载 作者:IT老高 更新时间:2023-10-28 12:22:42 25 4
gpt4 key购买 nike

我正在寻找一种快速方法来获取图像的高度和宽度(以像素为单位)。它至少应该处理 JPG、PNG 和 TIFF,但越多越好。我强调 fast 因为我的图像非常大(高达 250 MB),并且使用 ImageMagick 的 identify 获得大小需要很长时间,因为它显然会读取整个图像首先。

我最好寻找一种在 Ruby 甚至在 Rails 3 中运行良好的方法。

我知道理论知识(各种图像格式、它们的标题和它们的区别等等)。确实,我要求某种可以以相当通用的方式解决我的问题的库。

我刚刚找到 imagesize尽管发展似乎已死,但这看起来很有希望。

最佳答案

  • file 命令打印多种图像格式(例如 PNG、GIF、JPEG;最近的版本还有 PPM、WEBP)的尺寸,并且只读取标题。

  • identify 命令(来自 ImageMagick)为各种图像打印大量图像信息。它似乎限制自己阅读标题部分(见评论)。它还使用 file 遗憾地缺乏的统一格式。

  • exiv2 为您提供多种格式的尺寸,包括 JPEG、TIFF、PNG、GIF、WEBP,即使没有 EXIF header 。不过,目前尚不清楚它是否为此读取了全部数据。有关所有支持的图像格式,请参见 exiv2 的手册页。

  • head -n1 将为您提供 PPM、PGM 格式的尺寸。

对于网络上流行的格式,exiv2identify 都可以胜任。根据用例,您可能需要编写自己的脚本来组合/解析多个工具的输出。

关于linux - 获取图像尺寸(不是文件大小)的快速方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4670013/

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