Шаг 4: Поиск общих относительных различий между изображениями
Общие различия между изображениями характеризуются положением пиков в матрице кросс-корреляции, а также размерами и местонахождением подизображений.
% поиск на основании корреляции[max_c, imax]=max(abs(c(:)));[ypeak, xpeak]=ind2sub(size(c), imax(1));corr_offset=[(xpeak-size(sub_onion, 2)) (ypeak-size(sub_onion, 1))];% относительное месторасположение подизображенийrect_offset=[(rect_peppers(1)-rect_onion(1)) (rect_peppers(2)-rect_onion(2))]; % поиск на основании общих относительных различийoffset=corr_offset+rect_offset;xoffset=offset(1);yoffset=offset(2); Шаг 5: Анализ подизображения, полученного из основного изображения Подизображение на исходном изображении.xbegin=xoffset+1;xend=xoffset+size(onion, 2);ybegin=yoffset+1;yend=yoffset+size(onion, 1); % Получение рассматриваемого подизображения и сравнение его с исходнымextracted_onion=peppers(ybegin:yend, xbegin:xend, :);if isequal(onion, extracted_onion) disp('onion.png получено из peppers.png')end Шаг 6: Отображение подизображения на пустом изображении с размерами исходного Расположим подизображение на исходном изображении на основании анализа различий.recovered_onion=uint8(zeros(size(peppers)));recovered_onion(ybegin:yend, xbegin:xend, :)=onion;figure, imshow(recovered_onion)