gusucode.com > 基于matlab软件,实现双目视觉原理的摄像机标定,能根据各视场图像求内、外部参数 > 基于matlab软件,实现双目视觉原理的摄像机标定,能根据各视场图像求内、外部参数/TOOLBOX_calib/saving_calib_no_results.m
if ~exist('n_ima'), fprintf(1,'No calibration data available.\n'); return; end; check_active_images; for kk = 1:n_ima, if ~exist(['dX_' num2str(kk)]), eval(['dX_' num2str(kk) '= dX;']); end; if ~exist(['dY_' num2str(kk)]), eval(['dY_' num2str(kk) '= dY;']); end; end; if ~exist('wintx'), wintx = []; winty = []; end; if ~exist('dX_default'), dX_default = []; dY_default = []; end; if ~exist('dX'), dX = []; end; if ~exist('dY'), dY = dX; end; if ~exist('wintx_default')|~exist('winty_default'), wintx_default = max(round(nx/128),round(ny/96)); winty_default = wintx_default; end; if ~exist('alpha_c'), alpha_c = 0; end; if ~exist('err_std'), err_std = [NaN;NaN]; end; for kk = 1:n_ima, if ~exist(['n_sq_x_' num2str(kk)]), eval(['n_sq_x_' num2str(kk) ' = NaN;']); eval(['n_sq_y_' num2str(kk) ' = NaN;']); end; if ~exist(['wintx_' num2str(kk)]), eval(['wintx_' num2str(kk) ' = NaN;']); eval(['winty_' num2str(kk) ' = NaN;']); end; end; save_name = 'camera_data'; if exist([ save_name '.mat'])==2, disp('WARNING: File Calib_Results.mat already exists'); if exist('copyfile')==2, pfn = -1; cont = 1; while cont, pfn = pfn + 1; postfix = ['_old' num2str(pfn)]; save_name = [ 'camera_data' postfix]; cont = (exist([ save_name '.mat'])==2); end; copyfile('camera_data.mat',[save_name '.mat']); disp(['Copying the current camera_calib_data.mat file to ' save_name '.mat']); cont_save = 1; else disp('The file camera_data.mat is about to be changed.'); cont_save = input(1,'Do you want to continue? ([]=no,other=yes) ','s'); cont_save = ~isempty(cont_save); end; else cont_save = 1; end; if cont_save, save_name = 'camera_data'; if exist('calib_name'), fprintf(1,['\nSaving calibration data under ' save_name '.mat\n']); string_save = ['save ' save_name ' active_images ind_active wintx winty n_ima type_numbering N_slots first_num image_numbers format_image calib_name nx ny dX_default dY_default dX dY wintx_default winty_default']; for kk = 1:n_ima, string_save = [string_save ' X_' num2str(kk) ' x_' num2str(kk) ' n_sq_x_' num2str(kk) ' n_sq_y_' num2str(kk) ' wintx_' num2str(kk) ' winty_' num2str(kk) ' dX_' num2str(kk) ' dY_' num2str(kk)]; end; else fprintf(1,['\nSaving calibration data under ' save_name '.mat (no image version)\n']); string_save = ['save ' save_name ' active_images ind_active wintx winty n_ima nx ny dX_default dY_default dX dY wintx_default winty_default ']; for kk = 1:n_ima, string_save = [string_save ' X_' num2str(kk) ' x_' num2str(kk) ' n_sq_x_' num2str(kk) ' n_sq_y_' num2str(kk) ' wintx_' num2str(kk) ' winty_' num2str(kk) ' dX_' num2str(kk) ' dY_' num2str(kk)]; end; end; %fprintf(1,'To load later click on Load\n'); eval(string_save); fprintf(1,'done\n'); end;