Я думаю, ви могли б зробити щось на зразок цього Imagemagick . Це має квантування зображення і гістограма Особливості аналізу, які, ймовірно, потребуватимуть справжнього лікування.
Найпростіше зробити підрахунок кількості унікальних кольорів у кожній картині - карикатури зазвичай мають менше, ніж фотографії. Це може працювати як є якщо Ваш простір пошуку досить простий. тобто диференціювання простих мультфільмів у вигляді кольорових фотографій. Якщо у вас є "фантазії" мультфільмів, можливо, доведеться додати додаткові перевірки. Я додав додатковий ехо для RGB проти сірого колірного простору перед перевіркою кожного зображення.
Більш складний тест може включати перевірку гістограми, як загальної, так і в просторі RGB кожного зображення.
#!/bin/bash
for i in `ls *.jpg`
do
echo "$i is `convert $i -format \"%[colorspace]\" info:`"
x=`convert $i -unique-colors txt:- | wc -l`
if [ $x -le 512 ]; then
echo "$i is cartoon like ($x)"
elif [ $x -le 1024 ]; then
echo "$i is a bw photo ($x)"
else
echo "$i is real life-like ($x)"
fi
done
Основним ускладненням є відокремлення складних комп'ютерних анімацій від фотографій. Фотографії B & W можуть мати відносно мало унікальних кольорів, а складні картки можуть мати тисячі завдяки автоматичному відтінку. Можливо, вам доведеться експериментувати з порогами для "X", залежно від того, як виглядають ваші зображення.