From 5f9e59d87c4650b661fc73a9a68ecd2ccdd08f0e Mon Sep 17 00:00:00 2001 From: profiteroles Date: Tue, 7 May 2019 01:51:03 -0700 Subject: [PATCH] 0.6.0 --- leaf.php | 233 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 228 insertions(+), 5 deletions(-) diff --git a/leaf.php b/leaf.php index 1b60dda..cd8ab22 100644 --- a/leaf.php +++ b/leaf.php @@ -2,10 +2,48 @@ skip"; + } + echo "\n"; + } + +fin(); + +//////////////////////////////////////////////////////////////////////////////////////////////// +// Deskew: detect skew angle and apply to rotation tag +////////////////////// +} elseif (args("app") == "deskew") { +echo Welcome("Detect skew angles"); +///////////////////////////////////////////////////////////////////////// + +$deskew_max_angle = ".4"; +$deskew_padding = 80; +$deskew_contrast = 20; +$deskew_size = 2200; + +$files = glob(args("dir")."*.jpg"); + +if (!args("nomap")) { + + msg("Creating dmaps..."); + + } else { + + msg("Skipping dmap creation"); + + } + +if (shell_exec("exiftool -s -s -s -CropAngle ".$files[0]." 2>&1")) { + msg("Crop angle detected on ".$files[0].", continue?",2); + } + +foreach ($files as $file) { + + if (args("nomap")) { + $dmfile = $file; + } else { + $dmfile = "scratch/".basename($file, ".jpg")."_dmap.jpg"; + } + + $result = shell_exec("deskew -o /tmp/null -l 99 \"".$dmfile."\" 2>&1"); + $arr = explode("Skew angle found: ", $result); + $angle = substr($arr[1], 0, 4); + echo $file.": ".$angle; + if ($angle > $deskew_max_angle | $angle < ($deskew_max_angle*-1)) { + echo " (too big)"; + } else { + $angles[$file] = $angle; + } + echo "\n"; + } + +// echo "\nWriting angles to EXIF: "; +// +// foreach ($files as $file) { +// +// if (isset($angles[$file])) { +// exec("exiftool -overwrite_original -XMP-crs:CropAngle=".$angles[$file]." ".$file); +// echo "."; +// } else { +// // erase top edge crop to indicate rotation was not applied +// exec("exiftool -overwrite_original -XMP-crs:CropTop=0 ".$file." 2>&1"); +// } +// } + +// } //////////////////////////////////////////////////////////////////////////////////////////////// // Elif ////////////////////// } else { -echo Welcome("Program name ".$argv[1]." not found"); +echo Welcome("Program name \"".$argv[1]."\" not found"); } ///////////////////////////////////////////////////////////////////////// @@ -59,6 +273,15 @@ die; + + + + + + + + + // Settings $tif_dir = "null";