亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美日韩国产免费| 91精品国产综合久久精品图片| 中文字幕制服丝袜成人av| 欧美大片在线观看一区二区| 欧美在线你懂得| 色丁香久综合在线久综合在线观看| 国产精品一区二区在线观看网站| 免费在线欧美视频| 日韩高清一区二区| 亚洲成人av一区| 亚洲国产精品久久不卡毛片| 亚洲成人精品一区| 亚洲国产日韩一区二区| 亚洲一区二区四区蜜桃| 亚洲电影一区二区| 午夜av一区二区三区| 日韩vs国产vs欧美| 老鸭窝一区二区久久精品| 久久不见久久见免费视频1| 久久国产精品免费| 黄页网站大全一区二区| 韩国av一区二区三区四区| 国产一区二区中文字幕| 成人国产电影网| 91精彩视频在线观看| 欧美日韩黄视频| 日韩欧美一区二区在线视频| 欧美mv和日韩mv国产网站| 久久青草国产手机看片福利盒子| 国产欧美一区二区精品性| 亚洲日本一区二区三区| 午夜久久久影院| 精品一区二区三区免费播放| 成人在线综合网| 色婷婷亚洲婷婷| 欧美精品在线一区二区三区| 久久99国产精品久久99| 色综合久久久久久久| 欧美日韩一区三区四区| 国产精品色在线| 久久免费视频一区| 国产精品免费视频一区| 免费观看91视频大全| 欧美精品一级二级三级| 久久精品在线观看| 奇米影视在线99精品| 不卡av在线免费观看| 欧美日韩精品电影| 亚洲国产精品自拍| 粉嫩绯色av一区二区在线观看| 欧美色电影在线| 日本sm残虐另类| 日韩视频一区二区| 欧美一区二区日韩一区二区| 欧美一级高清片在线观看| 欧美三级在线看| 99精品视频在线观看| 日韩免费高清电影| 亚洲欧美日韩人成在线播放| 国产精品毛片大码女人| 奇米色一区二区三区四区| 色老汉av一区二区三区| 亚洲国产成人私人影院tom| 乱一区二区av| 欧美日韩一区三区| 国产精品久久久久久久裸模| 国产一区二区三区综合 | 久久er99精品| 在线视频国内一区二区| 亚洲婷婷综合色高清在线| 国产高清久久久| 欧美一级黄色录像| 午夜精品久久久久久久99樱桃| 色一情一伦一子一伦一区| 中文字幕在线不卡视频| 成人精品视频.| 欧美韩国日本不卡| 成人高清视频在线| 亚洲丝袜自拍清纯另类| 不卡的av电影| 亚洲丝袜制服诱惑| 91久久久免费一区二区| 一区二区三区四区精品在线视频 | 美腿丝袜亚洲色图| 7777精品伊人久久久大香线蕉的| 亚洲成人黄色影院| 欧美一区二区三区免费视频| 日韩国产一区二| 日韩女优av电影| 国产精品综合网| 一区二区中文视频| 欧美一a一片一级一片| 午夜精品免费在线观看| 日韩一区二区三区视频| 黄网站免费久久| 国产精品国产三级国产普通话蜜臀| 成人精品一区二区三区中文字幕| 综合久久久久综合| 欧美福利视频一区| 国产一区中文字幕| 国产精品久久久久久久第一福利| 色婷婷综合久色| 老司机精品视频导航| 亚洲国产精品高清| 精品视频全国免费看| 青青草视频一区| 亚洲国产高清不卡| 9191成人精品久久| 成人激情文学综合网| 亚洲一级片在线观看| 久久嫩草精品久久久久| 在线视频综合导航| 国产一区二区精品久久99| 亚洲精选在线视频| 欧美成va人片在线观看| 91丝袜国产在线播放| 久久av资源网| 中文字幕一区免费在线观看| 色婷婷av一区二区三区之一色屋| 亚洲 欧美综合在线网络| 国产精品婷婷午夜在线观看| 5月丁香婷婷综合| 91麻豆国产福利在线观看| 理论片日本一区| 亚洲国产一区二区视频| 中文文精品字幕一区二区| 正在播放亚洲一区| 91国产福利在线| 成人午夜av在线| 国内欧美视频一区二区| 偷拍亚洲欧洲综合| 亚洲免费av在线| 国产精品不卡在线观看| 久久久久九九视频| 欧美大度的电影原声| 欧美视频在线一区二区三区 | 精品欧美一区二区久久| 欧美日韩一区中文字幕| 色婷婷综合久久久久中文一区二区| 国产精品一区久久久久| 日韩激情视频网站| 亚洲愉拍自拍另类高清精品| 日韩毛片在线免费观看| 欧美经典三级视频一区二区三区| 日韩欧美视频一区| 91精品午夜视频| 欧美日韩高清一区二区三区| 欧美在线观看18| 欧日韩精品视频| 91福利国产成人精品照片| 99久久99久久精品免费看蜜桃| 日韩精品久久久久久| 亚洲线精品一区二区三区八戒| 亚洲精品一卡二卡| 亚洲乱码国产乱码精品精小说 | 午夜精品久久久久久不卡8050| 一区二区理论电影在线观看| 久久精品一区二区三区不卡| 国产亚洲精品中文字幕| 久久精品一区二区三区av| 欧美大胆人体bbbb| 欧美顶级少妇做爰| 欧美成人性战久久| 欧美性猛交xxxx乱大交退制版| 91一区二区三区在线观看| 不卡的av中国片| 色就色 综合激情| 色综合中文字幕| 激情伊人五月天久久综合| 日韩中文字幕91| 国产一区久久久| 国产98色在线|日韩| 91免费看`日韩一区二区| 欧美性大战久久久久久久 | 国产欧美精品在线观看| 欧美国产激情一区二区三区蜜月| 中文字幕日本不卡| 久久嫩草精品久久久久| 亚洲欧美日韩在线播放| 日韩综合小视频| 国产a区久久久| 欧美在线观看你懂的| 欧美成人激情免费网| 亚洲国产精品ⅴa在线观看| 亚洲男帅同性gay1069| 爽好久久久欧美精品| 国产精品一级在线| 欧美系列日韩一区| 精品福利视频一区二区三区| 精品久久久久久久久久久久包黑料| 久久精品一区八戒影视| 亚洲自拍偷拍av| 国产成人精品亚洲777人妖| 在线日韩一区二区| 日本一区二区三区视频视频| 亚洲一区二区在线免费看| 免费观看一级欧美片| 99久久er热在这里只有精品15 | 亚洲女人小视频在线观看| 日日欢夜夜爽一区|