Halcon 單相機標定+消除徑向畸變


單相機標定通常是相機使用的第一步,只有通過標定才能准確的獲得相機的內參,以便於進行消除畸變、1D/2D測量等后續操作。

1、生成標定板描述文件

gen_caltab (7, 7, 0.0125, 0.5, 'caltab.descr', 'caltab.ps')

參數含義可以查手冊(f1),運行后會在當前目錄下生成兩個文件: caltab.descr:標定板描述文件用於接下來的標定 caltab.ps:可用於打印標定板

2、標定助手

1)、描述文件選擇剛剛生成的 2)、選擇全標定,相元的高、寬可以咨詢相機的商家詢問,焦距可以查看鏡頭上,一般有標明,這里的參數只是初始參數。 3)、標定欄,選擇采集助手,點實時,有兩種合格的狀態提示(確定是完美品質,品質有問題不耽誤使用),失敗一般是沒有完全覆蓋標定板。 4)、點采集20張左右的圖片,盡量覆蓋整個視場,覆蓋所有角度(3d)。 5)、選擇一張圖片作為基礎參考位姿。 6)、可以保存圖片,如果標定后續有可能利用標定助手生成的代碼進行標定可以用。失敗的圖片要移除,否則無法標定。 7)、點擊標定,可以看到結果欄的內外參結果,可以保存成文件。用的時候可以直接讀取進程序使用。 8)、在代碼生成欄,可以插入tuple數據,也可以插入標定代碼。

3、實例:單相機標定+消除徑向畸變

* 標定 + 消除徑向畸變
* Calibration 01: Code generated by Calibration 01
CameraParameters := [0.0057932,-11394.5,6.00136e-006,6e-006,330.616,235.876,640,480]
CameraPose := [0.00223981,-0.00965318,0.110595,6.81103,1.68414,177.246,0]

* Image Acquisition 01: Code generated by Image Acquisition 01
change_radial_distortion_cam_par ('adaptive', CameraParameters, 0, CamParamOut)
open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] LRCP  USB2.0', 0, -1, AcqHandle)
grab_image_start (AcqHandle, -1)
while (true)
    grab_image_async (Image, AcqHandle, -1)
    * Image Acquisition 01: Do something
    gen_radial_distortion_map (Map, CameraParameters, CamParamOut, 'bilinear')
    map_image (Image, Map, ImageMapped)
endwhile
close_framegrabber (AcqHandle)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM