normxcorr2

Нормированная 2D взаимная корреляция

Синтаксис

Описание

пример

C = normxcorr2(template,A) вычисляет нормированную взаимную корреляцию матриц template и A. Получившийся матричный C содержит коэффициенты корреляции.

Опционально можно вычислить нормированную взаимную корреляцию с помощью графического процессора (требует Parallel Computing Toolbox™).

Примеры

свернуть все

Считайте два изображения в рабочую область и преобразуйте их в шкалу полутонов для использования с normxcorr2. Отобразите изображения рядом друг с другом.

onion   = rgb2gray(imread('onion.png'));
peppers = rgb2gray(imread('peppers.png'));
imshowpair(peppers,onion,'montage')

Выполните взаимную корреляцию и отобразите результат как поверхность.

c = normxcorr2(onion,peppers);
figure, surf(c), shading flat

Найдите пик во взаимной корреляции.

[ypeak, xpeak] = find(c==max(c(:)));

Объясните дополнение что normxcorr2 добавляет.

yoffSet = ypeak-size(onion,1);
xoffSet = xpeak-size(onion,2);

Отобразите совпадающую область.

figure
imshow(peppers);
imrect(gca, [xoffSet+1, yoffSet+1, size(onion,2), size(onion,1)]);

Входные параметры

свернуть все

Введите шаблон, заданный как числовая матрица. Значения template не может все быть то же самое.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Введите изображение, заданное как числовое изображение. A должно быть больше, чем матричный template для нормализации, чтобы быть значимым.

Нормированная взаимная корреляция является неопределенной операцией в областях где A имеет нулевое отклонение в полной мере шаблон. В этих областях, normxcorr2 коэффициенты корреляции присвоений нуля к выходу C.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Выходные аргументы

свернуть все

Коэффициенты корреляции, возвращенные как числовая матрица со значениями в области значений [-1, 1].

Типы данных: double

Алгоритмы

normxcorr2 использует следующую общую процедуру [1], [2]:

  1. Вычислите взаимную корреляцию в пространственном или частотном диапазоне, в зависимости от размера изображений.

  2. Вычислите локальные суммы путем предварительного вычисления рабочих сумм [1].

  3. Используйте локальные суммы, чтобы нормировать взаимную корреляцию, чтобы получить коэффициенты корреляции.

Реализация сопровождает формулу от [1]:

γ(u,v)=x,y[f(x,y)f¯u,v][t(xu,yv)t¯]{x,y[f(x,y)f¯u,v]2x,y[t(xu,yv)t¯]2}0.5

где

  • f изображение.

  • t¯ среднее значение шаблона

  • f¯u,v среднее значение f(x,y) в области под шаблоном.

Ссылки

[2] Haralick, Роберт М., и Линда Г. Шапиро, Компьютер и Видение Робота, Объем II, Аддисон-Уэсли, 1992, стр 316-317.

Расширенные возможности

Смотрите также

|

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте