для пикч я видел что брали блок картинки, вычисляли яркость пикселей среднюю в этом блоке и потом сопоставляли с оригинальной пикчей с некоторой погрешностью и там выводили % совпадения
Кстати, @borntohack стоит внести вот здесь: "Единственное, что нужно учесть - для функции sum описанной внутри функции - все аргументы должны быть одного типа. Иначе получите ошибку суммирования." Ремарку о том что типы могут быть разными, но должен быть определён магический оператор __sum__, реализующий их сложение