#!/usr/bin/perl use strict; # Processing script for Adversarial Video Generation library # Images should all be 320x or similar our $images_dir = "/home/lens/Desktop/woods_videos/kaulsdorf_large/"; our $thumbs_dir = "/home/lens/Desktop/thumbs/kaulsdorf_large/"; mkdir($thumbs_dir); mkdir($thumbs_dir . "Train/"); mkdir($thumbs_dir . "Test/"); our $frames_per_dir = 64; our $test_split = 5; # 1/N videos will be for the test split our @files = (); opendir DIR, $images_dir; while (readdir DIR) { next if /^\./; push(@files, $_); } closedir DIR; our @images = sort @files; my $count = scalar(@images); my $i; my $j; my $dirid = -2; my $nextid; my $dir; for ($i = 0; $i < $count; $i++) { $nextid = int($i / $frames_per_dir); if ($nextid != $dirid) { $dirid = $nextid; if (($dirid % $test_split) != ($test_split-1)) { $dir = $thumbs_dir . "Train/video" . $dirid . "/"; } else { $dir = $thumbs_dir . "Test/video" . $dirid . "/"; } print $dir . "\n"; mkdir($dir); $j = 0; } else { $j += 1; } my $src = $images_dir . $images[$i]; my $dst = $dir . sprintf("frame%03d.png", $j); system("cp", $src, $dst); print $dst . "\n"; } print $count . "\n";