Сравнение такого плана (опознание картинок не точно похожих друг на друга) - это задача из области самообучающихся програм... Но, естесственно, если можно как-то схитрить, то имеет смысл (т.е. если картинки, за исключением группы пикселов идентичны, а не просто похожи.
Что да имело бы смысл сделать: изначально сравнивать не все картинки со всеми картинками, а вычислить хеш от каждой картинки, и сравнивать хеши (если создать хеши длиной 32 бита, то сравнения будут очень быстрыми). Можно воспользоваться CRC для этого, или тот же MD5 - главное быстрый алгоритм и короткий хеш.
Для исключения вероятности потерять совпадающие картинки (которая будет очень незначительной в ситуации с хешированием, но все же будет, если где-то водяной знак не так приклеился, или во время приклеивания другие части картинки как-то исказились) можно сделать блум фильтр, для груп пикселов и сравнивать блум фильтры от картинок. Т.е. разделить картинки на непрерывные блоки, и сложить все пикселы блока в один блум фильтр. Такие блоки будет гораздо быстрее сравнить.
Еще варианты: для предварительной фильтрации использовать вычисление гистограмы, или усредненного цвета всей картинки.
Добавлено через 2 минуты
Цитата:
Сообщение от Sync
Почему нет предложений про нейросеть? Удобная же задача)))
|
Нейронные сети сами по себе очень непростой вопрос. Если уж что-то самому организовывать, то support vector machine было бы проще реализовать... но простота тут относительная

С другой стороны есть проект fann который уже реализовывает эти сети, но биндингов к нему в AS3 я что-то не припомню
