@CaptchaLom
для эталона сохраняем в массив цвет каждого пиксеаля попа рядку.
тоже самое для проверяемой картинки
сравнимаем массивы поелементно, потому-что массив это обект, а обект равен токо самому себе.
впринципе так можно искать не только точно попиксельно одинаковые картинки, но и похожие, например если скоко то там процентов пикселей одной картинки равен другой, то похожи, но фиг, тогда сравниваем цвет пикселей не строго, а например код цвета пикселя разбираем на RGB если есть опасити, и если разность кодо RGB(прозрачность) не больше 10(например, или скоко то там) и(AND/&&) не меньше 10, то пиксель похож, если нет то не похож, и сравнивать проверяемый пиксель не только с тем же пикселем эталона но и сколькими то соседними, потом можно определить вектор смещения и поворот, изменения размера, зеркальное отражение, и еще какую-нибудь инверсию.
и да экшен поиск одного изображения в другом вероятно делает что-то подобное