/
cli.php
38 lines (31 loc) · 1000 Bytes
/
cli.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
$startTime = time();
require_once __DIR__ . '/vendor/autoload.php';
use forevermatt\mosaic\MosaicMaker;
use forevermatt\mosaic\ProgressMeter;
if ($argc < 3) {
echo 'Usage: php ' . basename(__FILE__)
. ' path/to/guide-image.jpg path/to/source/images/ '
. '[path/to/more/source/images [...]]' . PHP_EOL;
return;
}
$pathToGuideImage = $argv[1];
$pathsToSourceImagesFolders = array();
for ($i = 2; $i < $argc; $i++) {
$pathsToSourceImagesFolders[] = $argv[$i];
}
$mosaicFileName = MosaicMaker::makeMosaic(
$pathToGuideImage,
$pathsToSourceImagesFolders
);
echo PHP_EOL . 'Saved mosaic as "' . $mosaicFileName . '".' . PHP_EOL . PHP_EOL;
echo '(Run time: ' . ProgressMeter::getDurationAsString(time() - $startTime) . ')'
. PHP_EOL;
$similarity = MosaicMaker::calculateSimilarity(
$pathToGuideImage,
$mosaicFileName
);
echo sprintf(
'(Similarity to guide: %.2f%%)' . PHP_EOL,
($similarity * 100)
);