亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vgg_px_from_6pts_3img.m

?? 實現了幾何多視的功能
?? M
字號:
%vgg_PX_from_6pts_3img  Computes camera matrices and world points from 6 points across 3 images.
%
%   [P,X] = vgg_PX_from_6pts_3img(x), where
%      x ... double(3,6,3) or cell{3} of double(3,6), 6 homogeneous points in 3 images
%      P ... double(3,4,3), P(:,:,k) is k-th camera matrix
%      X ... double(4,6), homogeneous world points
%   There are 0 to 3 solutions for (P,X). Solutions are pruned by requirement that
%   scalars s in all projective equations s*x==P*X are positive.
%   In case of multiple solutions, P and X have one dimension
%   more such that P(:,:,:,n) and X(:,:,n) is the n-th solution.
%
%   Also the form [P,X] = vgg_PX_from_6pts_3img(x1,x2,x3) is accepted.

% Algorithm in Hartley-Zisserman, Alg 19.1 page 493 in 1st edition,
                                  Alg 20.1 page 511 in 2nd edition
% Coded by werner@robots.ox.ac.uk, Nov 2002.

function [P,X] = vgg_PX_from_6pts_3img(x1,x2,x3)

if nargin==3
  x = cat(3,x1,x2,x3);
else
  if iscell(x1)
    x = cat(3,x1{:});
  else
    x = x1;
  end
end
if any(size(x)~=[3 6 3])
  error('Wrong size of input points.');
end

for k = 1:3
  % Find homographies H_k mapping first 4 pts in each image to standard projective basis.
  % Now, x(:,1:4,k) = H(:,:,k)*[eye(3) [1;1;1]].
  H(:,:,k) = H_from_4x(x(:,3:6,k));
  
  % Form transformed points xs(:,1:2,k)
  xs(:,:,k) = inv(H(:,:,k))*x(:,:,k);
end

% Compute dual fundamental matrix
Fd = Fdual_from_x(xs(:,1:2,:));

% Retrieve (non-dual) cameras P and world points X from (each solution for) dual fund. matrix.
P = [];
X = [];
for i = 1:size(Fd,3)
  
  % Compute canonical Xi and Pi
  Xi = X_from_Fdual(Fd(:,:,i));
  Pi = P_from_Xx_canonical(Xi,xs);
  
  % return from canonical to original image bases
  for k = 1:3
    Pi(:,:,k) = H(:,:,k)*Pi(:,:,k);
  end
  
  % Compute signs of P and X, if possible. If impossible, Pi==Xi==[].
  [Pi,Xi] = vgg_signsPX_from_x(Pi,Xi,x);
  if isempty(Pi), continue, end
  %for k = 1:3, Pi(:,:,k)*Xi ./ x(:,:,k), end  % test code

  P = cat(4,P,Pi);
  X = cat(3,X,Xi);

end

return


%%%%%%%%%%%%%%%% auxiliary functions


% Solve for dual fundamental matrix.
function F = Fdual_from_x(x)

% Linear step. After that,
% for k=1:3 and i=1:2, it is x(:,1,k)'*F_i*x(:,2,k)==0.
A = [];
for k = 1:3
  x1 = x(1,1,k);  y1 = x(2,1,k);  z1 = x(3,1,k);
  x2 = x(1,2,k);  y2 = x(2,2,k);  z2 = x(3,2,k);
  A = [A; [x1*y2-z1*y2,...
           x1*z2-z1*y2,...
           y1*x2-z1*y2,...
           y1*z2-z1*y2,...
           z1*x2-z1*y2] ];
end
[u,s,v] = svd(A,0);
v1 = v(:,end-1);
v2 = v(:,end);
FF{1} = [0 v1(1:2)'; v1(3) 0 v1(4); v1(5) -sum(v1) 0];
FF{2} = [0 v2(1:2)'; v2(3) 0 v2(4); v2(5) -sum(v2) 0];

% Non-linear step. Find linear combination of F_i having zero determinant.
% Dual fund. matrix is now  F = a*FF{1} + (1-a)*FF{2}, for each element of a.
a = vgg_singF_from_FF(FF);
for i = 1:length(a)
  F(:,:,i) = a(i)*FF{1} + (1-a(i))*FF{2};
end
return


% Given dual fundamental matrix Fd, computes cameras P and world points X such that
% for each k, P(:,:,k)*X ~ x(:,:,k).
function X = X_from_Fdual(Fd)

% Retrieve second dual camera matrix Pd2.
% It is done by considering Fdual in form
%[0 b*(d-c) -c*(d-b)
% -a*(d-c) 0 c*(d-a)
% a*(d-b) -b*(d-a) 0].

Fd_aux = reshape( Fd([4 7 1 2 1 8 1 3 6]), [3 3] );
[u,s,v] = svd(Fd_aux,0);
ABC = v(:,3); % It is a:b:c = A:B:C
[u,s,v] = svd(Fd',0);
KLM = v(:,3); % It is K:L:M = ((d-a):(d-b):(d-c)

G = [0 -ABC(3) ABC(2) 0
     ABC(3) 0 -ABC(1) 0
     -ABC(2) ABC(1) 0 0
     KLM(2) -KLM(1) 0 KLM(1)-KLM(2)
     0 KLM(3) -KLM(2) KLM(2)-KLM(3)
     -KLM(3) 0 KLM(1) KLM(3)-KLM(1) ];
[u,s,v] = svd(G,0);
abcd = v(:,end);

% The test code:
%Pd1 = [eye(3) [1;1;1]];
%Pd2 = [diag(abcd(1:3)) [1;1;1]*abcd(4)];
%vgg_F_from_P(Pd1,Pd2) ./ Fd

% Retrieve 6 world points X(:,1:6)
X = [ abcd [1;1;1;1] eye(4) ];

return


% Computes camera P from world points X and image points x, everything in canonical form.
function P = P_from_Xx_canonical(X,x)
X = X(:,1);
for k = 1:3
  A = [contreps(x(:,1,k))*[X(1) 0 0 X(4)
                           0 X(2) 0 X(4)
                           0 0 X(3) X(4)]
       contreps(x(:,2,k))*[eye(3) [1;1;1]]];
  [u,s,v] = svd(A,0);
  a = v(:,end);
  P(:,:,k) = [a(1) 0 0 a(4)
              0 a(2) 0 a(4)
              0 0 a(3) a(4)];
end
return


% A bit faster vgg_contreps.
function X = contreps(x)
X = [0 x(3) -x(2)
     -x(3) 0 x(1)
     x(2) -x(1) 0];
return


% H_from_4x  Having four point matches, the homography relating them is given by
% H = H_from_4x(x2)*inv(H_from_4x(x1)).
function H = H_from_4x(x)
H = x(:,1:3) * diag(inv(x(:,1:3))*x(:,4));
return

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


% Test code:
P = randn(3,4,3); X = randn(4,6);
for k = 1:3, x(:,:,k) = P(:,:,k)*X; end
[Pn,Xn] = PX_from_6pts(x);
for n = 1:size(Pn,4)
  for k=1:3, Pn(:,:,k,n)*Xn(:,:,n) ./ x(:,:,k), end
end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产丶欧美丶日本不卡视频| 亚洲猫色日本管| 欧美系列在线观看| 91国偷自产一区二区开放时间| 国产1区2区3区精品美女| 国内精品第一页| 国产成人av福利| 成人黄色777网| 欧美午夜片在线观看| 欧美日韩一区二区三区四区五区| 欧美日韩一区视频| 久久久亚洲精品石原莉奈| 欧美一级免费大片| 久久色.com| 亚洲人成网站影音先锋播放| 亚洲一区二区三区中文字幕在线| 亚洲va欧美va天堂v国产综合| 日韩福利电影在线| 国产精品一区一区| 成人国产一区二区三区精品| 91啪亚洲精品| 欧美高清视频www夜色资源网| 欧美成人午夜电影| 国产精品全国免费观看高清| 夜夜揉揉日日人人青青一国产精品 | 国产精品一级二级三级| 国产精品一区免费视频| 91亚洲精品乱码久久久久久蜜桃| 欧美影片第一页| 欧美精品一区二区三区视频 | 欧美色网一区二区| 欧美一二三区在线| 国产精品久久久久久久午夜片| 一区二区三区中文字幕精品精品| 青青国产91久久久久久 | 亚洲欧洲中文日韩久久av乱码| 日韩毛片精品高清免费| 蜜臀av一区二区在线免费观看| 成人丝袜高跟foot| 777久久久精品| 成人欧美一区二区三区在线播放| 婷婷久久综合九色综合绿巨人| 国产91精品免费| 欧美精品少妇一区二区三区| 国产精品另类一区| 久久丁香综合五月国产三级网站| 在线视频国产一区| 久久一区二区三区国产精品| 亚洲丰满少妇videoshd| 成人国产精品免费观看视频| 欧美一级在线视频| 亚洲精品乱码久久久久久黑人| 精品一区二区三区香蕉蜜桃| 欧美日韩中字一区| 中文字幕一区二| 国产资源精品在线观看| 欧美一区二区三区精品| 亚洲黄色尤物视频| 99re这里只有精品首页| 国产午夜亚洲精品午夜鲁丝片| 午夜精品成人在线| 色94色欧美sute亚洲线路一ni| 日本一区二区高清| 国产xxx精品视频大全| 精品免费99久久| 美女尤物国产一区| 91麻豆精品国产91久久久资源速度| 一二三区精品视频| 日本精品视频一区二区| 亚洲精品精品亚洲| 91高清在线观看| 亚洲伊人伊色伊影伊综合网| 91电影在线观看| 奇米亚洲午夜久久精品| 91精品福利视频| 亚洲高清在线视频| 欧美三级电影在线看| 亚洲一二三专区| 91麻豆精品国产| 另类中文字幕网| 久久久亚洲精品石原莉奈| 国产成人日日夜夜| 亚洲日本免费电影| 欧美伊人久久久久久久久影院 | 91精品福利在线一区二区三区| 日韩高清在线一区| 欧美不卡一区二区三区四区| 国产老妇另类xxxxx| 国产欧美一区二区三区在线看蜜臀| 国产成人免费视频网站高清观看视频 | 亚洲综合色在线| 欧美日韩综合一区| 青青草原综合久久大伊人精品优势 | 日韩欧美aaaaaa| 国产一区不卡在线| 亚洲欧洲综合另类在线| 欧美日韩国产一级片| 国产毛片精品视频| 亚洲日本在线a| 日韩精品在线一区二区| 国产·精品毛片| 首页综合国产亚洲丝袜| 精品欧美乱码久久久久久| 成人性视频网站| 三级欧美韩日大片在线看| 久久网这里都是精品| 欧美在线小视频| 国产老肥熟一区二区三区| 亚洲精品免费电影| 26uuu另类欧美| 色欧美日韩亚洲| 蜜臀91精品一区二区三区| 中文字幕在线不卡| 日韩一区二区三区视频在线| 99国产精品一区| 久久99九九99精品| 亚洲超碰精品一区二区| 国产精品网友自拍| 精品裸体舞一区二区三区| 91福利精品第一导航| 国产91精品露脸国语对白| 天天亚洲美女在线视频| 国产精品免费av| 亚洲精品一区二区三区影院 | 欧美妇女性影城| av爱爱亚洲一区| 国产一区二区调教| 亚洲va天堂va国产va久| 亚洲另类在线视频| 国产精品天干天干在线综合| 久久网站最新地址| 加勒比av一区二区| 蜜桃传媒麻豆第一区在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲人成伊人成综合网小说| 精品国产伦一区二区三区观看方式 | 亚洲444eee在线观看| 国产精品久久福利| 国产亚洲一区字幕| 日韩三级电影网址| 欧美精品123区| 精品视频在线看| 欧洲一区二区三区免费视频| 91麻豆精东视频| 99久久精品情趣| 成人福利视频在线看| 国产成a人亚洲精品| 国产又粗又猛又爽又黄91精品| 麻豆成人免费电影| 亚洲高清免费在线| 亚洲人成网站色在线观看| 亚洲欧美日韩国产手机在线 | 国产精品欧美久久久久无广告 | 99精品视频在线观看| 国产福利精品一区| 精品一区二区三区在线观看 | 最近日韩中文字幕| 一区在线中文字幕| 伊人色综合久久天天人手人婷| 亚洲裸体xxx| 亚洲精品久久久久久国产精华液| 亚洲综合在线五月| 天天综合天天综合色| 日本三级韩国三级欧美三级| 精品一区二区三区的国产在线播放| 乱中年女人伦av一区二区| 狠狠狠色丁香婷婷综合激情| 国产精品资源网| 91丨九色丨蝌蚪丨老版| 欧美日韩夫妻久久| 久久亚洲精品国产精品紫薇| 国产精品免费网站在线观看| 一区二区三区日韩欧美精品| 石原莉奈在线亚洲二区| 国模冰冰炮一区二区| 成人午夜视频网站| 欧美精品丝袜中出| 久久这里只有精品视频网| 欧美国产丝袜视频| 亚洲伊人色欲综合网| 麻豆成人免费电影| 色噜噜夜夜夜综合网| 日韩欧美久久一区| 亚洲欧美日韩一区二区三区在线观看| 亚洲h在线观看| 国产九九视频一区二区三区| 日本韩国欧美一区二区三区| 日韩视频一区在线观看| 国产精品久久久久久久蜜臀| 婷婷夜色潮精品综合在线| 国产激情视频一区二区三区欧美| 91久久精品网| 国产亚洲精品超碰| 视频一区视频二区中文字幕| 懂色av一区二区在线播放| 欧美日韩不卡一区二区| 国产精品国产精品国产专区不片| 日韩精品成人一区二区在线| 99视频在线精品| 久久综合色8888|