購物網站建設網站seo實戰(zhàn)密碼第三版pdf下載
代碼貼:雙目測距--5 雙目相機 聯合 YOLOv8_愛釣魚的歪猴的博客-CSDN博客
0、圖片篩選
可以用matlab,對雙目圖像做個一個篩選,也就是做雙目標定。
熟悉matlab的小伙伴完全可以用matlab做雙目標定,我是沒咋接觸過不知道怎么導出標定結果,所以我只是用其做圖片篩選,然后用OpenCV標定,因為后續(xù)開發(fā)也是OpenCV
?所有圖像雙目標定,可以看出有幾對圖像的誤差比較大
剔除這些圖像對,再次標定查看下
1、單目標定(張友正標定法)
獲得左相機、右相機的cameraMatrix(內部參數值)、disCoeffs(畸變矩陣)
2、雙目標定
固定左右相機的內部參數值、畸變矩陣,求R (右相機坐標系相對于左相機坐標系的旋轉矩陣),T(右相機坐標系相對于左相機坐標系的平移動向量), E(本征矩陣), F(基礎矩陣)
進一步求得畸變矯正、立體矯正所需的映射矩陣,以及深度差異映射矩陣Q
原圖:
?畸變矯正、立體矯正后:
?畫橫線檢查是否行對準,驗證矯正質量
3、獲取深度圖并使用yolov8進行目標檢測
利用雙目標定結果,對左右相機圖像進行畸變矯正、立體矯正,此時兩相機共面且行對準。
利用SGBM立體匹配算法獲取視差圖,并進一步獲得圖像每個像素的深度信息(深度圖)
yolov8對矯正后的左相機圖像進行物體檢測,目標框中心點的深度值即為距離
?其他:
stereoRectify() flags參數設置
原圖
flags-設置為CV_CALIB_ZERO_DISPARITY
?flags-設置為0
??flags-設置為-1