2014-11-24 2 views
2

Ниже приведен фрагмент кода, который образует мозаику из двух изображений после вычисления гомографии матрицы H, используя RANSAC pror, к которому было использован SIFT для вычисления дескрипторов:VLFeat в Matlab

% -------------------------------------------------------------------- 
%                Mosaic 
% -------------------------------------------------------------------- 
box2 = [1 size(im2,2) size(im2,2) 1 ; 
     1 1   size(im2,1) size(im2,1) ; 
     1 1   1   1 ] ; 
box2_ = inv(H) * box2 ; 
box2_(1,:) = box2_(1,:) ./ box2_(3,:) ; 
box2_(2,:) = box2_(2,:) ./ box2_(3,:) ; 
ur = min([1 box2_(1,:)]):max([size(im1,2) box2_(1,:)]) ; 
vr = min([1 box2_(2,:)]):max([siize(im1,1) box2_(2,:)]) ; 
[u,v] = meshgrid(ur,vr) ; 
im1_ = vl_imwbackward(im2double(im1),u,v) ; 
z_ = H(3,1) * u + H(3,2) * v + H(3,3) ; 
u_ = (H(1,1) * u + H(1,2) * v + H(1,3)) ./ z_ ; 
v_ = (H(2,1) * u + H(2,2) * v + H(2,3)) ./ z_ ; 
im2_ = vl_imwbackward(im2double(im2),u_,v_) ; 
mass = ~isnan(im1_) + ~isnan(im2_) ; 
im1_(isnan(im1_)) = 0 ; 
im2_(isnan(im2_)) = 0 ; 
mosaic = (im1_ + im2_) ./ mass ; 
figure(2) ; clf ; 
imagesc(mosaic) ; axis image off ; 
title('Mosaic') ; 
if nargout == 0, clear mosaic ; end 
end 

Теперь я понимаете, нам нужно каким-то образом деформировать изображения, прежде чем сшивать их с помощью рассчитанной гомографии? Что же такое логика определения «box2» Для чего нужно учитывать размер первого и второго измерения im2? Кроме того, какова функция массы и следующие строки кода?

ответ

1

Содержание box2 - это просто ограничивающая рамка (угловые координаты) второго изображения; box2_ - это эта ограничивающая коробка, преобразованная в систему координат im1 - в которой вы вычисляете диапазон координат (ur и vr), где проектировать im2 после преобразования.

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

Смежные вопросы