summaryrefslogtreecommitdiff
path: root/cut_to_borders.sh
diff options
context:
space:
mode:
Diffstat (limited to 'cut_to_borders.sh')
-rwxr-xr-xcut_to_borders.sh45
1 files changed, 45 insertions, 0 deletions
diff --git a/cut_to_borders.sh b/cut_to_borders.sh
new file mode 100755
index 0000000..3de37a3
--- /dev/null
+++ b/cut_to_borders.sh
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+set -e
+
+# get frames path from cli args
+framespath=${1:-}
+[ -z "$framespath" ] && echo "no framespath provided" && exit 1
+
+# draw random pic
+mkdir -p gray
+imageName=$(find "$framespath" -type f | sort -R | tail -1)
+shavedName="gray/"$(basename "$imageName")
+
+printf "working with $imageName\r"
+
+# detect image border:
+increment=5
+x=150
+limitX=600
+y=50
+colorFuzz=.01
+# borderColor="#f7d9ac"
+borderColor="#ffffff"
+
+while true
+do
+ pixelColor=$(magick convert "$imageName" -crop 1x1+$x+$y -depth 8 txt:- | awk ' NR==2 {print $3}')
+ colorDiff=$(magick compare -metric RMSE xc:"$borderColor" xc:"$pixelColor" null: 2>&1 | sed "s/.*(\(.*\))/\1/")
+ # break condition success
+ echo "fuzz: $colorFuzz; diff: $colorDiff; point: $x:$y"
+ [ 1 -eq "$(echo "$colorFuzz > $colorDiff" | bc)" ] && echo "found border: $x:$y" \
+ && magick convert "$imageName" -colorspace Gray -shave "${x}x0" "$shavedName" \
+ && break
+ # break condition fail
+ [ "$x" -gt "$limitX" ] && echo "failed to find border" && break
+ # update point
+ x=$((x+increment))
+done
+
+# to functions
+
+# cut left border
+# cut right border
+# assume position
+