Acho que você poderia fazer algo assim com o Imagemagick . Ele tem quantização de imagens e histograma recursos de análise que você provavelmente precisará dar um tratamento real.
A coisa mais simples a fazer é contar o número de cores exclusivas em cada foto - os desenhos animados geralmente devem ter menos fotos. Isso pode funcionar como se seu espaço de pesquisa for bastante simples. isto é, diferenciar cartuns simples formam fotos coloridas. Se você tiver desenhos de fantasia, talvez seja necessário adicionar verificações adicionais. Eu adicionei um eco extra para o espaço de cores RGB vs. Cinza antes de verificar cada imagem.
Um teste mais sofisticado pode envolver a verificação do histograma, seja total ou no espaço RGB de cada imagem.
#!/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
A principal complicação é separar as animações complexas de computador das fotos do & Uma foto em B & W pode ter relativamente poucas cores exclusivas, enquanto uma cartoom sofisticada pode ter milhares devido ao sombreamento auxiliado por computador. Você provavelmente precisará experimentar os limites para 'X' dependendo de como suas imagens se parecem.