Докажите, что два изображения в градациях серого одинаковы или нет - PullRequest
0 голосов
/ 10 июля 2020

введите описание изображения здесь

Даны два изображения в градациях серого, представленные двумя матрицами, где каждая ячейка указывает значение пикселя (показано на рисунке). Как я могу определить, совпадают ли эти два изображения или нет? Глядя на значения оттенков серого, становится ясно, что второе изображение является повернутой версией первого. Но есть ли математическое доказательство или способ показать это?

Мой подход : Мы можем создавать гистограммы для обоих изображений и сопоставлять их. Если они не совпадают, то изображения не совпадают. Но проблема в том, что гистограммы не показывают пространственные характеристики изображений. Могут быть два изображения с одинаковыми гистограммами, но на самом деле они полностью отличаются друг от друга.

1 Ответ

0 голосов
/ 10 июля 2020

Два сравнивают 2 изображения с одинаковой ориентацией, используйте это:

diff = np.subtract(img1, img2)
if np.sum(diff != 0) > 0:
    print("Images are not same")
else:
    print("Images are same")

Теперь переверните одно из изображений один раз по горизонтальной оси, а затем по оси вертикали (а также один раз транспонируйте изображение (если это это случай)) и сравните эти изображения одно за другим со вторым изображением. Если какие-либо из этих изображений одинаковы, то 2 изображения одинаковы, иначе они не совпадают.

Вместо зеркального отображения вы можете использовать поворот (имейте в виду, что вы поворачиваете на 180 градусов). См. Это, чтобы узнать, как переворачивать и вращать

...