смотря насколько точно это нужно, в простейшем (но не быстрейшем) случае достаточно будет сделать так:
написать функцию которая работает примерно так:
Проверка(исходное; фрагмент; точка) где точка место на исходном изображении в котором проверяем наличие фрагмента.
наличие же фрагмента определяем как разность по модулю цветов в каждой точке (r1-r2,g1-g2,b1-b2)
Далее делим исходное изображение на "клетки" и пробегаем по каждой из них и проверяем нет ли там фрагмента, в тех местах где фрагмент разница будет меньше чем в тех места где его нет.
Точность "поиска" будет зависеть от размера сетки, размер нужно брать не меньше четверти размера фрагмента, иначе можно и не найти фрагмент. Так же можно задать "немного не совпадает" и заодно "ускорить" алгоритм путем пропорционального уменьшения размера обоих изображений, координата соответственно будет так же "увеличиваться" в той же пропорции.
Вы не указали конкретный язык поэтому только описание алгоритма, для некоторых языков описанное выше можно найти в виде готовой библиотеки.