高精度雙目匹配 基於sb標定法

2021-10-06 07:00:31 字數 1073 閱讀 6282

在上一章中介紹了opencv4.3中的findchessboardcornerssb演算法,該演算法大大提高了單目標定的精度結果。由此我們這裡依然可以將這種方法應用在雙目標定中以獲取更高的標定精度,從而獲取更高的匹配精度。首先直接看**:

角點提取方法

isfindl =findchessboardcornerssb(imagel, boardsize, imagecornersl,calib_cb_exhaustive | calib_cb_accuracy);

isfindr =findchessboardcornerssb(imager, boardsize, imagecornersr,calib_cb_exhaustive | calib_cb_accuracy);

//isfindl = cv::findchessboardcorners(imagel, boardsize, imagecornersl);

//isfindr = cv::findchessboardcorners(imager, boardsize, imagecornersr);

if (isfindl == true && isfindr == true) //如果兩幅影象都找到了所有的角點 則說明這兩幅影象是可行的

在上述**中,我們分別對左圖和右圖提取了sb角點,這樣得到的子畫素角點精度將遠遠高於opencv3.4版本中的組合方法。這裡我也做了乙個比較,當使用3.4版本的雙目標定方法平均rms為0.478畫素,而使用本文中的方法其平均rms為:

在非工業界來說,這個標定精度基本上可以應付大部分場景。應用這個精度,我這裡呼叫了opencv的sgbm對我所標定的雙目影象進行匹配得到如下視差圖,如下:

實際的距離誤差大約在2m範圍以內,大約精度在5cm以內,而在4m範圍,大約是10cm誤差。總體來說精度很高。大家可以去試試這個新標定方法帶來的驚喜吧!!!

0011 模板匹配(基於形狀)

1.建立模板 2.匹配 3.釋放模板 建立模型 create shape model template 輸入影象,其域將用於建立模型 numlevels 金字塔層數 anglestart 旋轉起始角度 angleextent 旋轉角度範圍 anglestep 每一步的角度 optimization ...

0014 模板匹配(基於形狀 引數說明)

模板匹配過程總,不管是建立模板還是匹配的運算元,引數都比較多,如果我們出現模板匹配不上或者建立模板 匹配時速度很慢的情況,則需要我們調整建立模板和匹配的運算元引數。關於引數的調整,我們可以參照以下的一些說明 1.對比度 對比度越小,識別率越高,如果需要物體在任何狀態下都能被識別,減小mincontr...

0015 模板匹配(基於形狀 其他運算元說明)

基於形狀的模板匹配過程中,會使用到的一些運算元說明 連線兩個物件元組 concat obj objects1 元組物件1 objects2 元組物件2 objectsconcat 輸出連線後的元組物件 均值影象 多通道灰度值求均值 mean n image 輸入影象 imagemean 平均後的影象...