Когда я говорю про сложность, то имею в виду прежде всего сложность поддержки. Код сайтов время от времени меняется. Сейчас я базируюсь на табличных представлениях, с листингами картинок. А так придется для каждой открывать ее страницу. Это не всегда приемлемо и ресурсозатратно.
Заходить для каждой фотографии на ее страницу я бы тоже не стал. Но для сравнения изображений вполне возможно получится обойтись и совсем мелкими фотками из листинга. Ну или попробовать исходя из имен файлов мелких фоток вычислять имена крупных.
P.S. По поводу алгоритмов сравнения картинок интересно. Где можно почитать теорию, алгоритмы посмотреть и т.д.? OpenCV посмотрю.
Ссылки на конкретные ресурсы не дам, я сам в этой области больше занимался системами распознавания образов, да и то пользовался готовыми функциями и слишком глубоко в алгоритмы не вдавался. Насколько я знаю, есть как минимум два алгоритма:
1)обе фотографии приводятся к одинаковому (небольшому!) размеру в пикселях и переводятся в ч/б. После чего в примитивном случае просто считается среднеквадратичное отклонение яркости пикселей, а в качестве "продвинутого" алгоритма сравниваются специальные моменты яркости подобно тому, как можно посчитать моменты инерции для двумерной фигуры из материала переменной плотности.
2)Сравниваются гистограммы изображений.
В принципе эти два алгорится дополняют друг друга.
В библиотеке OpenCV, насколько я помню, стоит обратить внимание на функции MatchShapes и CompareHist соответственно.
P.P.S. Вы текущую реализацию смотрели? Есть какие-то вопросы, замечания? Как вообще отрабатывает?
Пока не смотрел. На Шаттере я наконец-то прошел экзамен всего несколько дней назад и тестировать программу всего на десятке фотографий не стал. Вот когда побольше фоток туда загружу, тогда попробую.