Quote Originally Posted by Komintasavalta View Post
I use this Python package to create morphs: https://pypi.org/project/facemorpher/.

You can also use it to crop out a face from a photo if you only give a single image as an argument:
ave1()(fun()(d=`mktemp -d`;cp "$1" "$d";b=${1##*/};python3 /usr/local/lib/python3.8/site-packages/facemorpher/averager.py --images=$d --background=average --out=/tmp/ave1/"${b%.*}".png;rm -r "$d");export -f fun;rm -r /tmp/ave1;mkdir /tmp/ave1;if (($#>0));then printf %s\\n "$@";else cat;fi|parallel -j10 fun)

I use it to create sets of multiple morphs by creating a text file like this:
group 1
/path/to/image/1.png
/path/to/image/2.png

group 2
/path/to/image/3.png
/path/to/image/4.png

Then I run a function like this (rewritten so that it doesn't use my custom functions or aliases):
grow()(g=/tmp/g;rm -r $g;mkdir $g;awk '{$1=$1}1' RS= FS=\\n OFS=\\t|awk '{print NR"\t"$0}'|while IFS=$'\t' read k l m;do d="$g/$k $l";rm -r /tmp/ave;mkdir /tmp/ave;printf %s\\n "$m"|tr \\t \\n|parallel -q cp {} /tmp/ave/{#}-{/};python3 /usr/local/lib/python3.8/site-packages/facemorpher/averager.py --images=/tmp/ave --background=average --out="$d.png";a=$(printf %s\\n "$l (n=`printf %s "$m"|tr \\t \\n|wc -w`)"|fold -sw20);convert "$d.png" -gravity north -extent 86%x94% -pointsize 40 -stroke \#000c -strokewidth 4 -annotate +0+18 "$a" -stroke none -fill white -annotate +0+18 "$a" "$d..png";done;montage -geometry +0+0 -tile 3x -gravity north $g/*..* -resize 200x -quality 90 $g.jpg)
makehuman/3D
blender/3D
gimp/2D

music player, the russian AIMP3 player
https://en.wikipedia.org/wiki/AIMP

VLC video player
https://en.wikipedia.org/wiki/VLC_media_player

video editor avidemux
https://en.wikipedia.org/wiki/Avidemux

music editor /midi home studio
Audacity/LMMS studio
https://en.wikipedia.org/wiki/Audacity_(audio_editor)
https://en.wikipedia.org/wiki/LMMS





for just naming a few