【问题标题】:Resizing an Image using Imagemagick convert使用 Imagemagick convert 调整图像大小
【发布时间】:2011-09-26 10:23:30
【问题描述】:

我有一个尺寸为 1280x720 的 YUV420 图像。我正在尝试使用以下命令行选项使用转换(Imagemagick)将其调整为 720x576。但是生成的输出文件似乎不是一个适当调整大小的 YUV420 图像(我希望调整大小的输出也是 YUV420 格式):

convert -size 1280x720 -depth 8 -sampling-factor 2x2  test_1280x720_yuv420.yuv  -filter lanczos -resize 720x576 -depth 8 -sampling-factor 2x2  720x576_yuv420.yuv //Here the output file size is not what it should be of a 720x576 YUV420 file which is 720x576x1.5 bytes. 

Qiestion:那么这个输出文件的格式是什么?

还尝试了 -sample 选项,但结果相同。输出文件大小不正确。我什至尝试显示生成的调整大小的文件,但它肯定不是 YUV420 文件,因为根本无法正确查看它。

convert -size 1280x720 -depth 8 -sampling-factor 2x2  test_1280x720_yuv420.yuv   -sample 720x576 -depth 8 -sampling-factor 2x2  720x576_yuv420.yuv

问题:convert 能做我想做的事吗?如果是,有哪些选择?

问题:是否有其他工具(免费软件、共享软件)可以帮助我将 YUV 文件(不同格式的 YUV420、YUV444)调整为 YUV 格式的输出文件?

【问题讨论】:

  • 这个问题有什么问题。它是客观的,标签中有问题:Imagemagick。某人只是自负!

标签: imagemagick image-manipulation


【解决方案1】:

尽量忽略纵横比!

忽略纵横比(“!”标志) 如果您愿意,您可以强制“-resize”忽略纵横比并扭曲图像,以便它始终生成与指定尺寸完全相同的图像。这是通过添加字符“!”来完成的到大小。不幸的是,这个字符有时也被各种 UNIX 命令行 shell 用于特殊目的。因此,您可能必须以某种方式转义该角色以保留它。

例子:

convert image.gif    -resize 64x64\!  resized_image.gif //Resized Image with ignore ratio option

【讨论】:

  • 只是好奇。当我没有忽略 Aspect Ratio 时,之前发生了什么。没有这个,它的大小小于所需的输出大小。尽管没有检查它放置了多少“较小”像素(行或列)。
猜你喜欢
  • 1970-01-01
  • 2021-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-24
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多