Я использую Image :: ExifTool для своих exif-нужд.
Но теперь нужно ТОЛЬКО определить, есть ли у изображения данные EXIF или нет, а Image :: ExifTool всегда возвращает некоторые данные (например, возвращает метаданные из статистики файла и внутреннее обнаружение изображения). Так,
#!/usr/bin/perl
use 5.014;
use warnings;
use open qw(:std :utf8);
use Image::ExifTool qw(:Public);
use Data::Dumper;
my $ext = new Image::ExifTool;
while(<>) {
chomp;
next unless(-f $path);
if( $ext->ExtractInfo($path) ) {
say "$_" for (sort $ext->GetFoundTags());
}
else {
say "NO\t$path";
}
}
печатает много тегов «Найдено», но файл не содержит никакой информации exif.
Есть ли здесь какой-нибудь простой способ определить, действительно ли изображение содержит данные EXIF EMBEDEDD или нет с помощью Image :: ExifTool?
Если кому-то нужна дополнительная информация: Наличие и изображение img.jpg
с данными exif, поэтому:
$ exif --list-tags --no-fixup img.jpg
#or
$ identify -format '%[exif:*]' img.jpg
напечатать много тегов. В настоящее время
$ cp img.jpg img2.jpg
$ mogrify -strip img2.jpg #removing all exif data, so
$ exif --list-tags --no-fixup img2.jpg
отпечатки
Corrupt data
The data provided does not follow the specification.
ExifLoader: The data supplied does not seem to contain EXIF data.
и
$ identify -format '%[exif:*]' img2.jpg
ничего не печатает. Итак, img2.jpg
не имеет данных exif. Но приведенный выше сценарий perl по-прежнему печатает много тегов «Найдено».