На основании некоторого кода, который я использую для других вещей:
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...
}