diff options
| -rwxr-xr-x | dir-to-movie.pl | 20 | ||||
| -rw-r--r-- | splice.pl | 26 |
2 files changed, 35 insertions, 11 deletions
diff --git a/dir-to-movie.pl b/dir-to-movie.pl index 5bcb738..aff33d6 100755 --- a/dir-to-movie.pl +++ b/dir-to-movie.pl @@ -20,6 +20,19 @@ GetOptions ( ) or die("Error in command line arguments\n"); +sub read_dir { + my $path = shift; + my $files = []; + opendir my $dir, $path or die "Cannot open directory: $!"; + while (my $file = readdir($dir)) { + if ($file =~ /\.png$/) { + push @$files, $file; + } + } + closedir $dir; + return $files; +} + $tag =~ s/\....$//; print "tag: $tag\n"; @@ -34,8 +47,9 @@ if (! -e "$path/$tag") { chdir("$path/$tag"); my $i = 0; -my $ls = `ls -1v *.png`; -my @lines = split('\n', $ls); + + +my @lines = read_dir('.') my $pwd = `pwd`; chomp $pwd; $pwd .= '/'; @@ -43,7 +57,7 @@ print $pwd . "\n"; mkdir('./tmp'); -for my $line (@lines) { +for my $line (sort @lines) { if ($line !~ /$prefix/) { next; } @@ -49,14 +49,24 @@ mkdir("./datasets/$dataset/test_A"); mkdir("./datasets/$dataset/test_B"); mkdir("./sequences/$dataset"); -my $dataset_lines = `ls -1v sequences/$dataset/*.png`; -my @dataset_files = split("\n", $dataset_lines); +sub read_dir { + my $path = shift; + my $files = []; + opendir my $dir, $path or die "Cannot open directory: $!"; + while (my $file = readdir($dir)) { + if ($file =~ /\.png$/) { + push @$files, $file; + } + } + closedir $dir; + return $files; +} -my $sequence_lines = `ls -1v sequences/$sequence/*.png`; -my @sequence_files = split('\n', $sequence_lines); +my $sequence_files = read_dir("sequences/$sequence"); +my $dataset_files = read_dir("sequences/$dataset"); -print "Sequence count: " . (scalar @sequence_files) . "\n"; -print "Dataset count: " . (scalar @dataset_files) . "\n"; +print "Sequence count: " . (scalar @$sequence_files) . "\n"; +print "Dataset count: " . (scalar @$dataset_files) . "\n"; my $pwd = `pwd`; chomp $pwd; @@ -64,9 +74,9 @@ $pwd .= '/'; print $pwd . "\n"; my $sequence_i = 0; -my $dataset_i = scalar @dataset_files; +my $dataset_i = scalar @$dataset_files; my $last_fn = undef; -for my $filename (@sequence_files) { +for my $filename (sort @$sequence_files) { if ($start_frame <= $sequence_i and $sequence_i <= $end_frame) { chomp $filename; # print($pwd . $filename. "\n"); |
