vgg_vec_swap.m
来自「实现了几何多视的功能」· M 代码 · 共 31 行
M
31 行
% S = vgg_vec_swap(x,y) For square matrix A and vectors x, y it is x'*A*y = vgg_vec(A)'*vgg_vec_swap(x,y).
%
% x ... matrix N-by-K
% y ... matrix N-by-K
% S ... matrix K^2-by-N
%
% Examples :-
%
% - Estimating fundamental matrix F that should satisfy x(:,k)'*F*y(:,k) = 0 from
% given points x(:,k), y(:,k). We solve homogeneous system vec(F)*vgg_vec_swap(x,y) = 0.
%
% - Evaluating values v(k) of x(:,k)'*A{k}*y(:,k) for all k, A{k} are square matrices.
% If column vectors vec(A{k}) are stacked to a single matrix AA, then
% v = sum(AA'.*vgg_vec_swap(x,y)).
%
% See also vgg_vech_swap
% Tomas Werner, Oct 2001
function M = vgg_vec_swap(x,y)
if nargin==1
y = x;
end
[i j] = find(ones(size(x,1)));
M = x(i,:).*y(j,:);
return
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?