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

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

?? projector_calib.m

?? 這是一個很好的標定工具箱
?? M
字號:

%dir;

% load camera results (for setting active images, n_ima,...)
load camera_results;


proj_name = 'proj'; %input('Basename projector calibration images (without number nor suffix): ','s');
camera_name = 'cam';

%i = 1;

xr_list = NaN*ones(1,n_ima);
yr_list = NaN*ones(1,n_ima);

ind_ima_proj = 1:n_ima;


DEBUG = 1;
%ind_ima_proj = [18];

for i = ind_ima_proj,
      
   if active_images(i),
   
   	%fprintf(1,'Loading image %d...\n',i);
   
   	if ~type_numbering,   
      	number_ext =  num2str(image_numbers(i));
   	else
      	number_ext = sprintf(['%.' num2str(N_slots) 'd'],image_numbers(i));
   	end;
   	
      ima_namep = [proj_name  number_ext 'p.' format_image];
      ima_namen = [proj_name  number_ext 'n.' format_image];
      ima_namer = [proj_name  number_ext 'r.' format_image];
      ima_nameb = [camera_name  number_ext '.' format_image];
      
      if i == ind_active(1),
         fprintf(1,'Loading image ');
      end;
         
         fprintf(1,'%d...',i);
         
         if format_image(1) == 'p',
            if format_image(2) == 'p',
               Ip = double(loadppm(ima_namep));
               In = double(loadppm(ima_namen));
               Ir = double(loadppm(ima_namer));
               Ib = double(loadppm(ima_nameb));
            else
               Ip = double(loadpgm(ima_namep));
               In = double(loadpgm(ima_namen));
               Ir = double(loadpgm(ima_namer));
               Ib = double(loadpgm(ima_nameb));
            end;
         else
            if format_image(1) == 'r',
               Ip = readras(ima_namep);
               In = readras(ima_namen);
               Ir = readras(ima_namer);
               Ib = readras(ima_nameb);
            else
               Ip = double(imread(ima_namep));
               In = double(imread(ima_namen));
               Ir = double(imread(ima_namer));
               Ib = double(imread(ima_nameb));
            end;
         end;

      	
			if size(Ip,3)>1,
            Ip = 0.299 * Ip(:,:,1) + 0.5870 * Ip(:,:,2) + 0.114 * Ip(:,:,3);
            In = 0.299 * In(:,:,1) + 0.5870 * In(:,:,2) + 0.114 * In(:,:,3);
            Ir = 0.299 * Ir(:,:,1) + 0.5870 * Ir(:,:,2) + 0.114 * Ir(:,:,3);
            Ib = 0.299 * Ib(:,:,1) + 0.5870 * Ib(:,:,2) + 0.114 * Ib(:,:,3);
   		end;
         
         %IIp = Ip - In;
         
         %Ip2 = Ip - Ib;
         %In2 = In - Ib;
         
         %imax = max(IIp(:));
         %imin = min(IIp(:));
         
         %IIp = 255*(IIp - imin)/(imax - imin);
         
         %indplus = find(IIp >= 255/2);
         %indminus = find(IIp < 255/2);
         
         %IIp(indplus) = 255*ones(length(indplus),1);
         %IIp(indminus) = zeros(length(indminus),1);
         
         delta_I = Ip - In;
         
         %IIp = 255*(1 + exp(-delta_I/2)).^(-1);
         
         
         IIp = (Ip >= In)*255;
         
         IIp = conv2(conv2(IIp,[1/4 1/2 1/4],'same'),[1/4 1/2 1/4]','same');
         
   		eval(['Ip_' num2str(i) ' = IIp;']);
   		eval(['In_' num2str(i) ' = 255 - IIp;']);
         
         I_marker2 = Ib-Ir;
         
         
         if DEBUG,
            
            Imax = max(I_marker2(:));
            Imin = min(I_marker2(:));
            
            I_marker_out = 255*(I_marker2 - Imin)/(Imax - Imin);
            
            figure(3);
            image(I_marker_out);
            colormap(gray(256));
            
            [xr,yr] = ginput(1);
            
            xr_list(i) = xr;
            yr_list(i) = yr;
            
         else
            
            I_marker = I_marker2 >50;
            I_marker = eliminate_boundary(I_marker);
            I_marker = eliminate_boundary(I_marker);
            [ymm,xmm] = find(I_marker);
            
            if length(xmm)<10,
               fprintf(1,'WARNING!! No marker in image %d!!!!\n',i);
            else
               xr = mean(xmm);
               yr = mean(ymm);
               xr_list(i) = xr;
               yr_list(i) = yr;
            end; 
         end;
         
         figure(2);
         image(IIp);
         colormap(gray(256));
         hold on;
         plot(xr,yr,'go');
         hold off;
         title(['Image ' num2str(i)]);
         drawnow;
         
         if ~DEBUG
            waitforbuttonpress;
         end;
         
         
         
   end;
   
   %i = i+1;   
   
end;


fprintf(1,'\nExtraction of the grid corners on the image\n');

if 0,
   disp('Window size for corner finder (wintx and winty):');
   wintx = input('wintx ([] = 8) = ');
   if isempty(wintx), wintx = 8; end;
   wintx = round(wintx);
   winty = input('winty ([] = 8) = ');
   if isempty(winty), winty = 8; end;
   winty = round(winty);
   fprintf(1,'Window size = %dx%d\n',2*wintx+1,2*winty+1);
   
   
   disp('The projector you are using is the DLP or Intel');
   nx = 1024;
   ny = 768;
   
   dX = input('Size dX in x of the squares (in pixels) [32] = ');
   dY = input('Size dY in y of the squares (in pixels) [32] = ');
   
   if isempty(dX), dX=32; end;
   if isempty(dY), dY=32; end;
   
   dXoff = input('Position in x of your reference (in pixels) [511.5] = ');
   dYoff = input('Position in y of your reference (in pixels) [383.5] = ');
   
   if isempty(dXoff), dXoff=511.5; end;
   if isempty(dYoff), dYoff=383.5; end;
   
else
   
   wintx = 8;
   winty = 8;
   nx = 1024;
   ny = 768;
   dX = 32;
   dY = 32;
   dXoff=511.5;
   dYoff=383.5;
   
end;

qqq = input('Indices of the images to extract ([]=all) ');

if isempty(qqq),
   ind_proc = ind_active;
else
   ind_proc = qqq;
end;



recompute_corner = 1;

if recompute_corner & ~exist(['xproj_' num2str(ind_proc(1))]),
   if exist('projector_data'),
      load projector_data;
   else
      recompute_corner = 0;
      disp('WARNING: Cannot recompute corners. Data need to be extracted at least once');
   end;   
end;

if ~recompute_corner,
   disp('Manual extraction mode');
else
   disp('Automatic recomputation of the corners');
end;

% extract the projector corners:

for kk = ind_proc,
   
   eval(['Ip = Ip_' num2str(kk) ';']);
   eval(['In = In_' num2str(kk) ';']);
   
   xr = xr_list(kk);
   yr = yr_list(kk);
   
   if ~recompute_corner,
		[x,X,n_sq_x,n_sq_y,ind_orig,ind_x,ind_y] = extract_grid(Ip,wintx,winty,fc_save,cc_save,kc_save,dX,dY,xr,yr,1);
   	xproj = x;
   else
      eval(['xproj = xproj_' num2str(kk) ';']);
      x = cornerfinder(xproj+1,Ip,winty,wintx);
      xproj = x - 1;
   end;
   
   Np_proj = size(x,2);
   
	figure(2);
	image(Ip);
	hold on;
	plot(xproj(1,:)+1,xproj(2,:)+1,'r+');
	%title('Click on your reference point');
	xlabel('Xc (in camera frame)');
	ylabel('Yc (in camera frame)');
	hold off;
	
	%disp('Click on your reference point...');
	
   %[xr,yr] = ginput2(1);
   
   xr = xr_list(kk);
   yr = yr_list(kk);
   
	err = sqrt(sum((xproj - [xr;yr]*ones(1,Np_proj)).^2));
	ind_ref = find(err == min(err));
	
	ref_pt = xproj(:,ind_ref);
	
	figure(2);
	hold on;
   plot(ref_pt(1)+1,ref_pt(2)+1,'go'); hold off;
   drawnow;
   
   
   if ~recompute_corner,
      
   	off_x = mod(ind_ref-1,n_sq_x+1);
   	off_y = n_sq_y - floor((ind_ref-1)/(n_sq_x+1));
   	
   	x_proj = X(1:2,:) + ([dXoff - dX * off_x ; dYoff - dY * off_y]*ones(1,Np_proj));
   	
   	eval(['x_proj_' num2str(kk) ' = x_proj;']); % coordinates of the points in the projector image
   	
	end;

   eval(['xproj_' num2str(kk) ' = xproj;']); % coordinates of the points in the camera image

   
end;


string_save = 'save projector_data ';

for kk = ind_active,
   string_save = [string_save ' xproj_' num2str(kk) ' x_proj_' num2str(kk)];
end;
eval(string_save);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品免费网站| 首页国产欧美日韩丝袜| 欧美大片一区二区三区| 欧美精品v日韩精品v韩国精品v| 日本韩国一区二区| 色88888久久久久久影院野外 | 精品久久久久久久久久久久久久久久久 | 国产精品免费久久| 亚洲国产高清不卡| 国产精品色一区二区三区| 国产精品午夜久久| 亚洲精品一卡二卡| 亚洲1区2区3区视频| 日韩av不卡一区二区| 激情六月婷婷综合| 国产98色在线|日韩| av综合在线播放| 色婷婷综合在线| 欧美人妇做爰xxxⅹ性高电影 | 粉嫩一区二区三区在线看| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国产精品理伦片| 亚洲综合区在线| 青青国产91久久久久久| 国产精品亚洲专一区二区三区| 99久久精品免费| 在线中文字幕不卡| 欧美大片在线观看一区| 国产精品女同互慰在线看| 一区二区三区日韩精品视频| 青青国产91久久久久久| www.亚洲在线| 欧美福利一区二区| 欧美国产欧美综合| 天天综合色天天综合| 国产精品伊人色| 在线亚洲+欧美+日本专区| 日韩欧美在线观看一区二区三区| 国产三级欧美三级日产三级99| 一区二区三区四区不卡在线| 韩国av一区二区| 日本丶国产丶欧美色综合| 欧美videos中文字幕| 亚洲综合色自拍一区| 久久99九九99精品| 色综合av在线| 国产婷婷精品av在线| 日日夜夜精品视频天天综合网| 国产盗摄一区二区三区| 欧美日本视频在线| 亚洲欧美区自拍先锋| 国产69精品久久久久777| 6080日韩午夜伦伦午夜伦| 亚洲少妇中出一区| 国产成人在线网站| 亚洲精品一区二区精华| 亚洲成人黄色影院| 色噜噜狠狠一区二区三区果冻| 国产亲近乱来精品视频| 久久黄色级2电影| 欧美精品久久天天躁| 亚洲一本大道在线| 色天使色偷偷av一区二区| 国产精品欧美一区喷水| 九九国产精品视频| 欧美人体做爰大胆视频| 亚洲不卡一区二区三区| 欧美曰成人黄网| 亚洲精品伦理在线| 色综合 综合色| 亚洲女爱视频在线| 99久久精品免费精品国产| 中文字幕在线不卡国产视频| 成人性视频免费网站| 国产三级精品视频| 成人综合婷婷国产精品久久| 欧美激情一区二区三区全黄| 国产成人精品一区二| 国产精品视频一二三| av欧美精品.com| 亚洲青青青在线视频| 在线亚洲免费视频| 午夜精品视频一区| 欧美一区二区三区免费大片| 美女被吸乳得到大胸91| 精品福利一区二区三区| 国产成人在线视频网址| 国产精品免费看片| 欧美综合一区二区三区| 日韩精品乱码免费| 欧美成人乱码一区二区三区| 国产精品一区在线| 中文字幕在线播放不卡一区| 91高清视频在线| 午夜激情一区二区三区| 精品国产一区二区国模嫣然| 粉嫩高潮美女一区二区三区| 日韩美女视频一区| 777奇米成人网| 丁香婷婷综合色啪| 亚洲另类一区二区| 在线综合视频播放| 国产福利一区在线| 亚洲国产欧美在线人成| 欧美电影免费提供在线观看| 国产ts人妖一区二区| 一区二区三区在线视频播放| 欧美电影精品一区二区| 91在线精品秘密一区二区| 日韩在线一区二区| 国产欧美日韩综合| 欧美另类高清zo欧美| 成人免费视频国产在线观看| 亚洲成人一区二区在线观看| 国产日韩欧美制服另类| 欧美日韩一区中文字幕| 懂色av一区二区在线播放| 午夜久久久久久久久| 国产精品天美传媒沈樵| 在线电影国产精品| 91丝袜呻吟高潮美腿白嫩在线观看| 日本网站在线观看一区二区三区| 国产精品久久久久影院| 日韩欧美自拍偷拍| 欧美在线一区二区三区| 风间由美一区二区三区在线观看 | 国产成人午夜高潮毛片| 日韩精品免费专区| 伊人一区二区三区| 中文字幕久久午夜不卡| 日韩女同互慰一区二区| 欧美日韩国产片| 91同城在线观看| 成人网在线播放| 精品在线播放午夜| 日本aⅴ精品一区二区三区| 尤物在线观看一区| 亚洲日本一区二区三区| 中文字幕二三区不卡| 精品第一国产综合精品aⅴ| 91精品国产aⅴ一区二区| 欧美三日本三级三级在线播放| 不卡影院免费观看| 丰满白嫩尤物一区二区| 国产成人精品三级麻豆| 国产一区二区美女诱惑| 国产在线播放一区二区三区| 奇米色一区二区三区四区| 亚洲国产三级在线| 亚洲福利电影网| 亚洲国产日日夜夜| 亚洲aⅴ怡春院| 日韩和的一区二区| 日韩国产在线一| 蜜臀va亚洲va欧美va天堂| 视频一区二区不卡| 日韩中文字幕91| 久久精品国产亚洲a| 狠狠色伊人亚洲综合成人| 国产综合久久久久影院| 国产麻豆91精品| 成人动漫一区二区三区| 99久久夜色精品国产网站| 91亚洲资源网| 欧美在线不卡一区| 欧美一区二区在线看| 欧美大片日本大片免费观看| 欧美mv日韩mv国产网站| 精品久久久久久久人人人人传媒 | 亚洲成人激情自拍| 美女爽到高潮91| 国产成人精品综合在线观看| 99久久久免费精品国产一区二区 | 韩国欧美国产一区| 国产91精品在线观看| 色八戒一区二区三区| 日韩手机在线导航| 亚洲国产高清aⅴ视频| 一级中文字幕一区二区| 精品一区二区三区免费视频| 国产高清精品久久久久| 一本大道久久a久久精二百| 91精品国产综合久久精品麻豆| 精品国产麻豆免费人成网站| 欧美激情自拍偷拍| 一级做a爱片久久| 国产一区二区三区免费播放| 一本一道久久a久久精品 | 国产不卡高清在线观看视频| 在线一区二区三区做爰视频网站| 日韩欧美国产一区二区三区| 中文字幕中文字幕在线一区| 日本午夜一本久久久综合| 99九九99九九九视频精品| 制服丝袜一区二区三区| 亚洲色图另类专区| 国内外成人在线视频| 欧美日韩国产一级二级| 国产精品福利一区| 黑人巨大精品欧美黑白配亚洲|