|
|
||||||||||||||||||||||||||||||||
Вход |
Раздел "Обработка сигналов и изображений\Image Processing Toolbox"
И.М.Журавель "Краткий курс теории обработки изображений" В оглавление \ К следующему разделу \ К предыдущему разделу Регистрация изображений с помощью нормированной кросс-корреляции Иногда одни изображения являются подмножествами других. С помощью методов нормированной кросс-корреляции существует возможность определения их расположения и регистрации.
Обзор примеров Приведенные примеры включают следующие шаги:
Шаг 2: Выбор подобласти для каждого изображения % неитеративный rect_onion=[111 33 65 58]; rect_peppers=[163 47 143 151]; sub_onion=imcrop(onion,rect_onion); sub_peppers=imcrop(peppers,rect_peppers); % или % итеративный [sub_onion,rect_onion]=imcrop(onion); [sub_peppers,rect_peppers]=imcrop(peppers); % отображение подизображений figure, imshow(sub_onion) figure, imshow(sub_peppers) Шаг 3: Нормированная кросс-корреляция и поиск координат пиков Шаг 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) Шаг 7: Свойство прозрачности исходного изображения Создание прозрачной (или полупрозрачной) маски для непрозрачного исходного изображения. [m, n, p]=size(peppers); mask=ones(m, n); i=find(recovered_onion(:, :, 1)==0); mask(i)=.2; % экспериментирование с различными значениями прозрачности % наложение полупрозрачного рисунка figure, imshow(peppers(:,:,1)) % отображение только красной составляющей hold on h=imshow(recovered_onion); % отображение recovered_onion set(h, 'AlphaData', mask) |
Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
|
||
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro | ||
E-mail: | ||
Информация на сайте была обновлена 11.05.2004 |
Copyright 2001-2004 SoftLine Co Наши баннеры |