ImageMagick / Perl按像素宽度/高度排序图像

时间:2011-09-17 06:06:52

标签: linux perl image shell imagemagick

您好我无法找到有关如何使用Image Magick按像素宽度或高度列出图像的任何信息。我想要做的是过滤出小于指定像素宽度或高度的图像。这是通过perl脚本完成的,任何帮助都表示赞赏。

3 个答案:

答案 0 :(得分:3)

根据我用于其他内容的一些代码:

use strict;
use warnings;

use Image::Magick;
use Win32::Autoglob;

my $max_cols = 640;
my $max_rows = 480;

IMAGE:
for my $image_name (@ARGV) {

    my $image = Image::Magick->new;
    my $result = $image->Read($image_name);
    die "Failed to read $image_name - $result" if $result;

    my ($cols, $rows) = $image->Get('columns', 'rows');

    next IMAGE if $cols > $max_cols;
    next IMAGE if $rows > $max_rows;

    # your processing here...

}

答案 1 :(得分:0)

使用ImageMagick中的identify实用程序获取宽度和高度。

答案 2 :(得分:0)

  1. 从中安装PerlMagick perl模块 http://www.imagemagick.org/script/perl-magick.php

  2. 使用与示例脚本类似的代码 该网页上的示例,用于阅读每个图像。

  3. 使用查询每个图像中的行数和列数 $image->Get('rows')$image->Get('columns')并跳过太小的图片。