Ошибка при сравнение изображений OpenCv (не могу найти баг в коде)

Так, с помощью OpenCv и функции absdiff пытаюсь вычесть матрицы одинаковых(в смысле размер/тип) матриц, чтобы узнать отличаются ли изображения... Мы делаем скриншот текущего изображения на экране и пытаемся определить отличается ли часть изображения(через Rect) от части основного изображения, если отличается, то ничего не происходит, если одинаковы, то делаем клик мышкой, но изображение всегда отличается от другого, притом что картинки одинаковые, не подскажите, где в коде проблема которую я не заметил? (код работает, но некорректно)

        screenshot(); // функция делающая скриншот экрана
        Mat imageNow = imread("D:\\Arry\\react\\pressreact2.png", IMREAD_COLOR); // Основное изображение
        Mat imageCHECK = imread("D:\\Arry\\react\\pressreactCHECK.png", IMREAD_COLOR); // изображение с которым сравниваем
        Rect Rec(920, 620, 10, 10); // выделяем прямоугольник x,y длина, ширина
        Rect Res(920, 620, 10, 10); 
        rectangle(imageNow, Rec, Scalar(255), 1, 8, 0); // рисуем прямоугольник
        rectangle(imageCHECK, Res, Scalar(255), 1, 8, 0);
        Mat image_osn = imageNow(Rec);     // создаём основные матрицы
        Mat image_check_end = imageCHECK(Res);
       


        Mat result;                                        // матрица для результата
        absdiff(image_osn, image_check_end, result);       // вычитаем матрицы и записываем в result

        cvtColor(image_osn, image_osn, COLOR_RGB2GRAY, 1); // приводим изображения к одной цветовой палитре
        cvtColor(image_check_end, image_check_end, COLOR_RGB2GRAY, 1);
        cvtColor(result, result, COLOR_RGB2GRAY, 1);

        if (countNonZero(result) == 0) // если не отличается то:
        {
            click();         // функция клика левой кнопкой мыши
            std::cout << "\a";
        }
        else
        {
           
        }

Ответы (0 шт):