luemerg
@luemerg

Как найти максимально похожее совпадение в массиве с другим?

На матлаб не смотрим, расписал максимально просто, мне нужно больше понять алгоритм.

Самое краткое описание найти максимально похожий массив в другом массиве.

Задача есть 2 изображения, 1 из них является куском второго (может и не являться), необходимо найти координаты где более малое изображение похоже больше всего в большом.

Сравнивать изображения решил взаимной ковариационной функцией, где f изображения, N ширины изображении, M высоты
5dd35b166192c446135179.jpeg
Первая проблема появившаяся в этой формуле это суммы, изображения имеют различные длины и высоты (2 меньше 1 всегда). Так же умножая светлые пиксели (255) будет чаще всего максимум, а черные (0) минимум, тоесть новый созданный массив не является картой похожести если можно это так назвать.

1 проблема была решена поиском суммы произведении пикселей наименьшего изображения с сдвигом с изображением большего.

for i = 1:N1
   for j = 1:M1
      
      for i1 = 1:N2
         for j1 = 1:M2
            B(i, j) = B(i, j) + f1(i + i1, j + j1) * f2(i1, j1);
         end
      end

   end
end


Может кто поможет разобраться и пояснит где я ошибаюсь
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы