⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plot3dresidua.m

📁 三维重建
💻 M
字号:
function plot3DResidua(ste,X,Y, meth)
%
%   PLOT3DRESIDUA(ste,X,Y,meth)
%
%   Estimates the depth of the image coordinate pairs stored in X and plot
%   the spatial residua. If meth = 0 GETOBJECTCOORDINATES function is used
%   for depth computation, otherwise MULTIPLEPOINTRECONSTRUCTION.
%
%   As the residua normally are to small, their direction is shown by the
%   red lines while the green lines show the actual residua.
%
%
%

if nargin < 4
    meth = 0;
end

if meth == 0
    R = getObjectCoordinates(ste,X,Y);
else 
    [R, Py , V] = multiplePointReconstruction(ste,X,1)
end 
r = R - Y;

max_scale = 3;

    
    %-------determining line length----
    mu_abs = [];
    for i = 1:size(r,1)
        mu_abs = [mu_abs, norm(r(i,:))];    
    end
    mu_abs = mean(mu_abs);
    
    mxlen = max(mu_abs);
    scal_fac = max_scale/mxlen;
    %----------------------------------

    for i = 1:size(X,1)
        plot3(Y(i,1),Y(i,2),Y(i,3),'x','Color','black');hold on,
        line([Y(i,1),Y(i,1) + scal_fac*r(i,1)],[Y(i,2),Y(i,2) + scal_fac*r(i,2)],[Y(i,3),Y(i,3) + scal_fac*r(i,3)],'Color','red'); hold on
        line([Y(i,1),Y(i,1) + r(i,1)],[Y(i,2),Y(i,2) + r(i,2)],[Y(i,3),Y(i,3) + r(i,3)],'Color','green'); hold on
        grid on
        hold on;
    end
    
    mu = norm(mean(r));
    title(['\mu = [' num2str(mu) ']' ...
            '\newline \mu_{abs} = [' num2str(mu_abs) ']'])

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -