フォルダ内の多数の画像ファイルを読み込んで比較しようとしています。しかし、私はイメージファイルを読むことができません。Perlを使用してフォルダ内の画像を読み取って比較する
コードスニペット:
use strict;
use warnings;
use Image::Compare;
opendir my $ref_dir, "./" or die "Cannot open directory: $!";
my @ref_files = readdir $ref_dir;
closedir $ref_dir;
print $#ref_files;
my($cmp) = Image::Compare->new();
$cmp->set_image1(
img => './'.$ref_files[0], #one instance - reading first file in the folder
type => 'bmp',
);
コードは、次のエラーを投げている - 「ファイルから画像データを読み取ることができません 『./。』:Cで 『./:許可を開くことができませんでした拒否されました』: /Perl64/site/lib/Image/Compare.pm 162. "
ファイル名を直接入力するとコードが正常に動作します。 - img => './image.bmp'。だから、それは許可の問題ではありません。
'$ ref_filesの**パーミッション**を確認してください[0]'ファイル。 – AbhiNickz
ファイル名を文字列として直接与えると動作します。したがって、許可の問題ではありません。 – Maximus