Skip to content

Instantly share code, notes, and snippets.

@ibaaj
Created May 14, 2016 03:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ibaaj/104ec1fac531aba4d3d8439f50eb6f64 to your computer and use it in GitHub Desktop.
Save ibaaj/104ec1fac531aba4d3d8439f50eb6f64 to your computer and use it in GitHub Desktop.
hall.sh
#!/bin/bash
W=`identify ./large.jpg | cut -f 3 -d " " | sed s/x.*//` #width
H=`identify ./large.jpg | cut -f 3 -d " " | sed s/.*x//` #height
if [[ $W > $H ]]; then
NW=$H;
else
NW=$W;
fi
convert large.jpg -crop ${NW}x${NW}+$((W-NW))+$((H-NW)) cube-right.jpg
convert cube-right.jpg -sparse-color voronoi '%w,0 white 0,%h black' mask-right.png;
convert cube-right.jpg \( +clone -transpose \) mask-right.png -compose Src -composite mirror-right.png
convert large.jpg mirror-right.png -geometry +$((W-NW))+$((H-NW)) -composite right.jpg
convert large.jpg -crop ${NW}x${NW}+0+0 cube-left.jpg
convert cube-left.jpg -sparse-color voronoi '%w,0 white 0,%h black' mask-left.png
# I know, there is a better way than 2 "flops"
convert cube-left.jpg -flop \( +clone -transpose \) mask-left.png -compose Src -composite -flop mirror-left.png
convert large.jpg mirror-left.png -geometry +0+0 -composite left.jpg
convert large.jpg mirror-left.png -geometry +0+0 -composite mirror-right.png -geometry +$((W-NW))+$((H-NW)) -composite render.jpg
exit 0;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment