<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于MATLAB中calibration toolbox的相機標定應用研究

          基于MATLAB中calibration toolbox的相機標定應用研究

          作者: 時間:2011-11-15 來源:網(wǎng)絡 收藏
          隨著人們對可視化要求的提高,計算機視覺作為一門新興的高科技學科,被越來越多地應用于產(chǎn)品在線質量監(jiān)控、微電子器件的自動檢測、各種模具三維形狀的測量及生產(chǎn)線中機械手的定位與瞄準等[1,2]領域。相機標定作為計算機視覺中最基礎的一部分,已形成了很多種標定方法,有關理論問題也得到了較好的解決,當前的研究工作應該集中于如何針對具體的實際應用問題,采用特定的簡便、實用、快速、準確的標定方法[3-6]。
           中的相機標定工具箱(camera calibration toolbox)提供了各種例程以及標定方法,非常詳細,甚至還提供了方格型的靶標。用戶接口方便靈活,在相機標定時使用非常簡單,而且該工具箱的C源碼在開源計算機視覺庫中開放,為深入學習進行二次開發(fā)提供了理想的條件[7-9]。攝像機的標定與相機同理。
          1 相機標定原理
           標定中有3個不同層次的坐標系:世界坐標系、相機坐標系和像平面坐標系(物理坐標系和像素坐標系),如圖1所示。
          1.1 世界坐標系
           世界(world)坐標系也稱真實或現(xiàn)實世界坐標系,用XwYwZw表示,它是客觀世界的絕對坐標(所以也稱客觀坐標系)。一般的3D場景都用這個坐標系來表示。
          1.2 相機坐標系
           相機坐標系是以相機為中心制定的坐標系,用XcYcZc表示,一般取相機的光學軸為Zc軸。
          1.3 像平面坐標系
           圖像物理坐標系是在相機內(nèi)所形成的像平面xy坐標系,一般取像平面與相機坐標系平面平行。
           圖像像素坐標系是在相機內(nèi)所形成的uv坐標系,一般取像平面∏的左上角為原點。
           圖像上每一點的亮度與物體某個表面點的反射光的強度有關,而圖像點在圖像平面上的位置僅與相機空間物體的相對方位和相機的內(nèi)部結構有關,相機的內(nèi)部結構是由相機的內(nèi)部參數(shù)所決定的。為了描述相機的成像幾何關系,需要對相機進行數(shù)學建模。通常采用針孔模型,也稱為線性模型,這種模型在數(shù)學上是三維空間到二維平面的中心投影,由一個3×4矩陣來描述,這種模型是一個(退化的)攝影變換,因此通常又稱它為攝影攝像機。
          1.4 相機標定原理
           相機標定是指建立攝像機圖像像素位置與場景點位置之間的關系,其途徑是根據(jù)相機模型,由已知特征點的圖像坐標和世界坐標求解相機的模型參數(shù),如圖2所示。相機需要標定的模型參數(shù)分為內(nèi)部參數(shù)和外部參數(shù),轉換關系為:

          世界坐標系中的點到相機坐標系的變換可用一個正交變換矩陣R和一個平移變換矩陣T表示,fx、fy、γ、u0、v0是線性模型的內(nèi)部參數(shù),其中fx、fy分別定義為X和Y方向的等效焦距,u0、v0是圖像中心(光軸與圖像平面的交點)坐標,γ是u軸和v軸不垂直因子;R和T是旋轉矩陣和平移矩陣。若已知矩陣M1、M2,就可建立起世界坐標和像素坐標的對應關系。相機的標定任務就是求出每個變換矩陣中的參數(shù)。
           由于相機光學系統(tǒng)并不是精確地按理想化的小孔成像原理工作,存在透鏡畸變,即物體點在相機成像面上實際所成的像與理想成像之間存在光學畸變誤差[2,3]。主要的畸變誤差有三類:徑向畸變、偏心畸變和薄棱鏡畸變,分別用δr、δd、δp表示。第一類只產(chǎn)生鏡像位置的偏差,后兩類則既產(chǎn)生徑向偏差,又產(chǎn)生切向偏差。
           考慮畸變后,圖像平面理想圖像點坐標(Xu,Yu)等于實際圖像點坐標(Xd,Yd)與畸變誤差之和,即:

          2 相機標定
           相機的輸出畫面分辨率為3 280×2 460,采用黑白棋盤作為標定模板,模板正方形邊長為30 mm。實時標定過程如下:
          (1)運行標定主函數(shù)calib_gui,顯示如圖3所示模式選擇窗口。

          通過這個操作,可以選擇一次性上傳所有標定照片或在電腦內(nèi)存不足的情況下分張上傳。無論選擇哪種模式,都會有相同的用戶窗口,接下來的標定過程可全部由此窗口完成,如圖4所示。

           (2)在主窗口中通過讀取圖片,可以獲得所要標定的照片。
           (3)獲取角點。程序運行界面如圖5所示。程序標定結果如下:

          %--Focal length:
          fc=[3463.194803808018200;3807.341090056066200];
          %--Principal point:
          cc=[1633.861831663415600;1394.235351077526500];
          %--Skew coefficient:
          alpha_c=0.000000000000000;
          %--Distortion coefficients:
          kc=[-0.208188511841198;0.035081678657317;0.0023875
          81735940;0.000491712255333;0.000000000000000];
          %-- Focal length uncertainty:
          fc_error=[260.123743256455500;284.746622601852150];
          %--Principal point uncertainty:
          cc_error=[36.917650368224287;47.589021356646775];
          %--Skew coefficient uncertainty:
          alpha_c_error=0.000000000000000;
          %--Distortion coefficients uncertainty:
          kc_error=[0.031723675208984;0.077972615251388; 0.002
          023682615518;0.001567520438212;0.000000000000000];
          %--Image size:
          nx=3280;
          ny=2460;
          %--Various other variables (may be ignored if you do not use the Matlab Calibration Toolbox):
          %--Those variables are used to control which intrinsic parameters should be optimized
          n_ima=12;
          %Number of calibration images
          est_fc=[1;1];
          %Estimation indicator of the two focal variables
          est_aspect_ratio=1;
          % Estimation indicator of the aspect ratio fc(2)/fc(1)
          center_optim=1;
          % Estimation indicator of the principal point
          est_alpha=0;
          % Estimation indicator of the skew coefficient
          est_dist=[1;1;1;1;0];
          %Estimation indicator of the distortion coefficientspoint
          est_alpha=0;
          % Estimation indicator of the skew coefficient
          est_dist=[1;1;1;1;0];
          % Estimation indicator of the distortion coefficients
          從實驗可以看出,使用中的標定工具箱可以很快地得到標定結果,操作簡單易懂,可視化效果好,對結果誤差、畸變等可以圖像的方式顯示。
          參考文獻
          [1] 張廣軍.視覺測量[M].北京:科學出版社,2008.
          [2] 吳福朝.計算機視覺中的數(shù)學方法[M]. 北京:科學出版社,2008.
          [3] ROGER Y. TSAI. A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses[J]. IEEE Journal of robotics and automation, 1987,RA-3(4):323-344.
          [4] TSAI R Y. An efficient and accurate camera calibration technique for 3D machine vision[M]. Proc. of IEEE Conference of computer Vision and Pattern Recognition, 1986:364-374.
          [5] ZHANG Z Y. Flexible camera calibration by viewing a plane from unknown orientations[C].In: Proceedings of the International Conference on Computer Vision (ICCV’99),1999:666-673.
          [6] 靳志光,衛(wèi)建東,張冠宇,等.基于LCD的相機標定新方法[J].遙感應用, 2008,1:87-90.
          [7] Meng Xiaoqiao, Hu Zhanyi. A new easy camera calibration technique based on circular points[J]. pattern recognition, 2003,36(5):1155-1164.
          [8] WU Y H, ZHU H J, HU Z Y, et al. Camera calibration from the quasi-affine invariance of two parallel circles[C]. In Proc. European Conference on Computer Vision(ECCV’2004), 2004,I:190-202.
          [9] 徐德,趙曉光,涂志國,等.基于單特征點的手眼系統(tǒng)攝像機標定[J].IEEE Transtration on Pattern Analysis and Machine Intelligence, 2000,22(11):1330-1334.

          全息投影相關文章:全息投影原理


          關鍵詞: MATLAB

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();