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

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

?? go_calib_optim_iter_weak.m

?? matlab的標定工具箱
?? M
?? 第 1 頁 / 共 2 頁
字號:
%%% WARNING!!! This code is not in working condition yet.
%%% AS A RESULT, IT IS NOT SUPPORTED!!!
%%% -Jean-Yves Bouguet

%go_calib_optim_iter_weak
%
%Main calibration function. Computes the intrinsic andextrinsic parameters
%for the weak perspective camera model
%Runs as a script.
%
%INPUT: x_1,x_2,x_3,...: Feature locations on the images
%       X_1,X_2,X_3,...: Corresponding grid coordinates
%
%OUTPUT: fc: Camera focal length
%        cc: Principal point coordinates
%        alpha_c: Skew coefficient
%        kc: Distortion coefficients
%        KK: The camera matrix (containing fc and cc)
%        omc_1,omc_2,omc_3,...: 3D rotation vectors attached to the grid positions in space
%        Tc_1,Tc_2,Tc_3,...: 3D translation vectors attached to the grid positions in space
%        Rc_1,Rc_2,Rc_3,...: 3D rotation matrices corresponding to the omc vectors
%
%Method: Minimizes the pixel reprojection error in the least squares sense over the intrinsic
%        camera parameters, and the extrinsic parameters (3D locations of the grids in space)
%
%Note: If the intrinsic camera parameters (fc, cc, kc) do not exist before, they are initialized through
%      the function init_intrinsic_param.m. Otherwise, the variables in memory are used as initial guesses.
%
%Note: The row vector active_images consists of zeros and ones. To deactivate an image, set the
%      corresponding entry in the active_images vector to zero.
%
%VERY IMPORTANT: This function works for 2D and 3D calibration rigs, except for init_intrinsic_param.m
%that is so far implemented to work only with 2D rigs.
%In the future, a more general function will be there.
%For now, if using a 3D calibration rig, quick_init is set to 1 for an easy initialization of the focal length



%%% Little modifications for weak perspective model:
center_optim = 0; % No center estimation for weak perspective model
%est_dist = zeros(5,1); % No distortion for weak perspective model
%est_alpha = 0; % No skew for weak perspective model



if ~exist('desactivated_images'),
    desactivated_images = [];
end;

if ~exist('est_aspect_ratio'),
    est_aspect_ratio = 1;
end;

if ~exist('est_fc');
    est_fc = [1;1]; % Set to zero if you do not want to estimate the focal length (it may be useful! believe it or not!)
end;

if ~exist('recompute_extrinsic'),
    recompute_extrinsic = 1; % Set this variable to 0 in case you do not want to recompute the extrinsic parameters
    % at each iterstion.
end;


if ~exist('MaxIter'),
    MaxIter = 30; % Maximum number of iterations in the gradient descent
end;

if ~exist('check_cond'),
    check_cond = 1; % Set this variable to 0 in case you don't want to extract view dynamically
end;

if ~exist('center_optim'),
    center_optim = 1; %%% Set this variable to 0 if your do not want to estimate the principal point
end;

if exist('est_dist'),
    if length(est_dist) == 4,
        est_dist = [est_dist ; 0];
    end;
end;

if ~exist('est_dist'),
    est_dist = [1;1;1;1;0];
end;

if ~exist('est_alpha'),
    est_alpha = 0; % by default, do not estimate skew
end;


% Little fix in case of stupid values in the binary variables:
center_optim = double(~~center_optim);
est_alpha = double(~~est_alpha);
est_dist = double(~~est_dist);
est_fc = double(~~est_fc);
est_aspect_ratio = double(~~est_aspect_ratio);



fprintf(1,'\n');

if ~exist('nx')&~exist('ny'),
    fprintf(1,'WARNING: No image size (nx,ny) available. Setting nx=640 and ny=480. If these are not the right values, change values manually.\n');
    nx = 640;
    ny = 480;
end;


check_active_images;


quick_init = 0; % Set to 1 for using a quick init (necessary when using 3D rigs)


% Check 3D-ness of the calibration rig:
rig3D = 0;
for kk = ind_active,
    eval(['X_kk = X_' num2str(kk) ';']);
    if is3D(X_kk),
        rig3D = 1;
    end;
end;


if center_optim & (length(ind_active) < 2) & ~rig3D,
    fprintf(1,'WARNING: Principal point rejected from the optimization when using one image and planar rig (center_optim = 1).\n');
    center_optim = 0; %%% when using a single image, please, no principal point estimation!!!
    est_alpha = 0;
end;

if ~exist('dont_ask'),
    dont_ask = 0;
end;

if center_optim & (length(ind_active) < 5) & ~rig3D,
    fprintf(1,'WARNING: The principal point estimation may be unreliable (using less than 5 images for calibration).\n');
    %if ~dont_ask,
    %   quest = input('Are you sure you want to keep the principal point in the optimization process? ([]=yes, other=no) ');
    %   center_optim = isempty(quest);
    %end;
end;


% A quick fix for solving conflict
if ~isequal(est_fc,[1;1]),
    est_aspect_ratio=1;
end;
if ~est_aspect_ratio,    est_fc=[1;1];
end;


if ~est_aspect_ratio,
    fprintf(1,'Aspect ratio not optimized (est_aspect_ratio = 0) -> fc(1)=fc(2). Set est_aspect_ratio to 1 for estimating aspect ratio.\n');
else
    if isequal(est_fc,[1;1]),
        fprintf(1,'Aspect ratio optimized (est_aspect_ratio = 1) -> both components of fc are estimated (DEFAULT).\n');
    end;
end;

if ~isequal(est_fc,[1;1]),
    if isequal(est_fc,[1;0]),
        fprintf(1,'The first component of focal (fc(1)) is estimated, but not the second one (est_fc=[1;0])\n');
    else
        if isequal(est_fc,[0;1]),
            fprintf(1,'The second component of focal (fc(1)) is estimated, but not the first one (est_fc=[0;1])\n');
        else
            fprintf(1,'The focal vector fc is not optimized (est_fc=[0;0])\n');
        end;
    end;
end;


if ~center_optim, % In the case where the principal point is not estimated, keep it at the center of the image
    fprintf(1,'Principal point not optimized (center_optim=0). Default state for weak perspective model');
    if ~exist('cc'),
        fprintf(1,'It is kept at the center of the image.\n');
        cc = [(nx-1)/2;(ny-1)/2];
    else
        fprintf(1,'Note: to set it in the middle of the image, clear variable cc, and run calibration again.\n');
    end;
else
    fprintf(1,'Principal point optimized (center_optim=1) - (DEFAULT). To reject principal point, set center_optim=0\n');
end;


if ~center_optim & (est_alpha),
    fprintf(1,'WARNING: Since there is no principal point estimation (center_optim=0), no skew estimation (est_alpha = 0)\n');
    est_alpha = 0;  
end;

if ~est_alpha,
    fprintf(1,'Skew not optimized (est_alpha=0) - (DEFAULT)\n');
    alpha_c = 0;
else
    fprintf(1,'Skew optimized (est_alpha=1). To disable skew estimation, set est_alpha=0.\n');
end;


if ~prod(double(est_dist)),
    fprintf(1,'Distortion not fully estimated (defined by the variable est_dist):\n');
    if ~est_dist(1),
        fprintf(1,'     Second order distortion not estimated (est_dist(1)=0) - (DEFAULT for weak perspective model) . \n');
    end;
    if ~est_dist(2),
        fprintf(1,'     Fourth order distortion not estimated (est_dist(2)=0) - (DEFAULT for weak perspective model) .\n');
    end;
    if ~est_dist(5),
        fprintf(1,'     Sixth order distortion not estimated (est_dist(5)=0) - (DEFAULT for weak perspective model) .\n');
    end;
    if ~prod(double(est_dist(3:4))),
        fprintf(1,'     Tangential distortion not estimated (est_dist(3:4)~=[1;1]) - (DEFAULT for weak perspective model) .\n');
    end;
end;


% Check 3D-ness of the calibration rig:
rig3D = 0;
for kk = ind_active,
    eval(['X_kk = X_' num2str(kk) ';']);
    if is3D(X_kk),
        rig3D = 1;
    end;
end;

% If the rig is 3D, then no choice: the only valid initialization is manual!
if rig3D,
    quick_init = 1;
end;



alpha_smooth = 1; % set alpha_smooth = 1; for steepest gradient descent


% Conditioning threshold for view rejection
thresh_cond = 1e6;



%% Initialization of the intrinsic parameters (if necessary)

if ~exist('cc'),
    fprintf(1,'Initialization of the principal point at the center of the image.\n');
    cc = [(nx-1)/2;(ny-1)/2];
    alpha_smooth = 0.4; % slow convergence
end;


if exist('kc'),
    if length(kc) == 4;
        fprintf(1,'Adding a new distortion coefficient to kc -> radial distortion model up to the 6th degree');
        kc = [kc;0];
    end;
end;


if ~exist('kc'),
    fprintf(1,'Initialization of the image distortion to zero.\n');
    kc = zeros(5,1);
    alpha_smooth = 0.4; % slow convergence
end;

if ~exist('alpha_c'),
    fprintf(1,'Initialization of the image skew to zero.\n');
    alpha_c = 0;
    alpha_smooth = 0.4; % slow convergence
end;

if ~exist('fc')& quick_init,
    FOV_angle = 35; % Initial camera field of view in degrees
    fprintf(1,['Initialization of the focal length to a FOV of ' num2str(FOV_angle) ' degrees.\n']);
    fc = (nx/2)/tan(pi*FOV_angle/360) * ones(2,1);
    est_fc = [1;1];
    alpha_smooth = 0.4; % slow 
end;


if ~exist('fc'),
    % Initialization of the intrinsic parameters:
    fprintf(1,'Initialization of the intrinsic parameters using the vanishing points of planar patterns.\n')
    init_intrinsic_param; % The right way to go (if quick_init is not active)!
    alpha_smooth = 0.4; % slow convergence
    est_fc = [1;1];
end;


if ~est_aspect_ratio,
    fc(1) = (fc(1)+fc(2))/2;
    fc(2) = fc(1);
end;

if ~prod(double(est_dist)),
    % If no distortion estimated, set to zero the variables that are not estimated
    kc = kc .* est_dist;
end;


if ~prod(double(est_fc)),
    fprintf(1,'Warning: The focal length is not fully estimated (est_fc ~= [1;1])\n');
end;


%%% Initialization of the extrinsic parameters for global minimization:
comp_ext_calib;



%%% Initialization of the global parameter vector:

init_param = [fc;cc;alpha_c;kc;zeros(5,1)]; 

for kk = 1:n_ima,
    eval(['omckk = omc_' num2str(kk) ';']);
    eval(['Tckk = Tc_' num2str(kk) ';']);
    init_param = [init_param; omckk ; Tckk];    
end;


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国三级电影一区二区| 欧美在线免费播放| 久久精品国产亚洲一区二区三区| 亚洲福中文字幕伊人影院| 亚洲人成网站色在线观看| 中文字幕乱码亚洲精品一区| 久久久久久久性| 国产欧美精品一区二区色综合朱莉| 久久天堂av综合合色蜜桃网| 久久亚洲精品国产精品紫薇| 久久久精品人体av艺术| 欧美国产综合色视频| 国产精品久久久久婷婷| 亚洲日本一区二区| 亚洲地区一二三色| 免费在线看一区| 国产一区二区三区精品视频| 岛国一区二区三区| av不卡在线观看| 91久久奴性调教| 91麻豆精品国产91久久久久久久久 | 性感美女久久精品| 蜜桃av一区二区| 国产一区二区精品久久91| 国产1区2区3区精品美女| 色偷偷一区二区三区| 欧美视频在线观看一区| 91精品国产色综合久久不卡电影| 日韩免费高清av| 国产精品丝袜91| 亚洲成人自拍偷拍| 国产一区二区女| 91麻豆123| 91精品国产综合久久精品性色| 久久夜色精品一区| 一区二区三区资源| 青青草视频一区| 国产成人啪午夜精品网站男同| 91麻豆视频网站| 日韩欧美在线1卡| 国产精品传媒视频| 亚瑟在线精品视频| 丁香桃色午夜亚洲一区二区三区| 色猫猫国产区一区二在线视频| 日韩欧美一二三| 亚洲精品国产一区二区三区四区在线| 午夜亚洲国产au精品一区二区| 国产乱子轮精品视频| 在线中文字幕不卡| 精品免费日韩av| 一区二区三区资源| 国产精品一区久久久久| 欧美日韩精品专区| 亚洲国产成人私人影院tom| 午夜精品aaa| 成人国产精品免费网站| 欧美精品xxxxbbbb| 自拍偷在线精品自拍偷无码专区| 裸体在线国模精品偷拍| 色狠狠av一区二区三区| 久久精品亚洲精品国产欧美| 亚洲h在线观看| 成人高清视频在线| 日韩欧美一二三| 亚洲图片一区二区| 成人免费av资源| 精品国产一二三| 香蕉影视欧美成人| 91久久线看在观草草青青| 久久精品亚洲一区二区三区浴池| 日韩精品1区2区3区| 91免费在线视频观看| 久久久久国产免费免费| 蜜桃视频在线观看一区| 91高清视频在线| 国产精品久久久久久久久快鸭| 久久国产精品第一页| 欧美日韩成人激情| 亚洲男女一区二区三区| 成人一区二区视频| 久久久精品2019中文字幕之3| 奇米影视一区二区三区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 久久久精品一品道一区| 久久精品国产77777蜜臀| 欧美精选一区二区| 亚洲国产成人91porn| 一本一本大道香蕉久在线精品| 欧美激情一区二区三区不卡| 激情小说亚洲一区| 欧美不卡激情三级在线观看| 青青草97国产精品免费观看无弹窗版| 7777精品伊人久久久大香线蕉最新版 | 国产精品国产成人国产三级| 国产风韵犹存在线视精品| 精品国产一区久久| 久久精品国产色蜜蜜麻豆| 日韩三级在线观看| 蜜臀av性久久久久蜜臀aⅴ| 日韩欧美综合一区| 极品少妇一区二区| 久久精品视频在线看| 国产精品自拍毛片| 中文在线一区二区| av在线不卡免费看| 一区二区三区在线影院| 欧美亚洲一区二区在线| 亚洲国产一二三| 91精品欧美综合在线观看最新| 日韩精品一二三四| 欧美岛国在线观看| 国产成人在线影院 | 国产精品一区免费在线观看| 久久久久久久久久久久久夜| 国产成人av电影在线| 亚洲国产精品av| 972aa.com艺术欧美| 亚洲电影一区二区三区| 欧美丰满少妇xxxbbb| 六月婷婷色综合| 久久香蕉国产线看观看99| 成人午夜在线视频| 亚洲一区二区在线免费看| 欧美精品一卡二卡| 国产呦精品一区二区三区网站| 久久久噜噜噜久久人人看| 成人性生交大片免费看中文网站| 国产精品全国免费观看高清| 一本一道久久a久久精品 | 国产高清在线精品| 亚洲欧美视频在线观看| 欧美美女喷水视频| 国内精品在线播放| 亚洲欧美国产77777| 91精品国产欧美一区二区成人| 激情欧美日韩一区二区| 亚洲人妖av一区二区| 欧美日韩国产一级| 国产精品一级黄| 亚洲综合激情另类小说区| 日韩精品一区二区三区中文不卡| 国产成人综合网| 亚洲国产视频一区二区| 久久美女高清视频| 欧美怡红院视频| 国产大片一区二区| 亚洲成人tv网| 中文字幕精品一区二区三区精品| 欧美亚洲免费在线一区| 国产乱码精品一区二区三 | 国产91精品免费| 亚洲丝袜美腿综合| 日韩精品一区二区三区在线| 99久久精品情趣| 日韩av一区二区在线影视| 国产精品全国免费观看高清 | 欧美日韩国产综合一区二区| 国产精品系列在线播放| 亚洲成人你懂的| 国产精品国产三级国产普通话99| 91精品国产综合久久久久久漫画 | 免费看黄色91| 一区二区三区久久久| 久久综合色鬼综合色| 欧美日韩精品欧美日韩精品一| 成人高清视频免费观看| 麻豆成人91精品二区三区| 亚洲一区二区高清| 亚洲国产精品ⅴa在线观看| 日韩一区国产二区欧美三区| 91视频免费看| 国产成人一区在线| 日本色综合中文字幕| 亚洲香蕉伊在人在线观| 亚洲欧美在线观看| 久久网这里都是精品| 日韩欧美国产系列| 欧美日韩色一区| 色狠狠色狠狠综合| 91亚洲午夜精品久久久久久| 国产福利一区二区| 激情五月播播久久久精品| 全国精品久久少妇| 午夜成人免费电影| 亚洲韩国一区二区三区| 亚洲欧美日韩在线不卡| 国产精品久久久久久亚洲伦| 久久久国际精品| 久久色.com| 久久综合久久综合九色| 日韩欧美亚洲国产另类| 日韩一区二区三区精品视频| 884aa四虎影成人精品一区| 欧美午夜电影网| 欧美偷拍一区二区| 色呦呦一区二区三区| 色综合久久中文综合久久97| youjizz久久| www.欧美精品一二区| 成人性生交大片免费看中文|