手把手教會(huì)你雙目攝像頭Matlab參數(shù)定標(biāo)

    目錄

    一、前期準(zhǔn)備

    1、安裝好python3,可以在anaconda中安裝python3。

    2、一個(gè)合適得雙目攝像頭。

    3、一臺(tái)可以運(yùn)行Matlab得電腦。

    4、一張棋盤圖(可A4打印,若效果不佳,則可A3打印)。

    棋盤圖如下圖所示:需要測量小方框得邊長(一般單位為毫米:mm)。

    請(qǐng)?zhí)砑訄D片描述

    二、使用雙目攝像頭(左+右)拍攝棋盤圖

    1、注意事項(xiàng)

    注意:

    1、左、右攝像頭圖像中必須包含單獨(dú)得完整得棋盤圖。

    2、可適當(dāng)前后、左右、上下翻轉(zhuǎn)棋盤圖,在符合上述條件1得情況下。

    3、拍攝左右雙目得照片40~50張比較合適。

    如圖所示:

    2、雙目拍照代碼(python)

    take_photo.py內(nèi)容如下:

    import cv2import sys#引入庫cap = cv2.VideoCapture(1) #讀取筆記本內(nèi)置攝像頭或者0號(hào)攝像頭i = 0while True:    ret, frame = cap.read()        if (ret):        cv2.namedWindow("Video01",0)   #創(chuàng)建一個(gè)名為Video01得窗口,0表示窗口大小可調(diào)        #cv2.resizeWindow("Video01",1280,720) ##創(chuàng)建一個(gè)名為Video01得窗口,設(shè)置窗口大小為 1920 * 1080 與上一個(gè)設(shè)置得 0 有沖突        cv2.imshow("Video01", frame)        #等待按鍵按下        c = cv2.waitKey(1) & 0xff        #r若按下w則保存一張照片        if c ==ord("w"):            cv2.imwrite("./val_001/%d.bmp" %i, frame) #自己設(shè)置拍攝得照片得存儲(chǔ)位置            print("Save images %d succeed!" %i)            i+=1        #若按下Q鍵,則退出循環(huán)        if c == ord("q"):            break    #隨時(shí)準(zhǔn)備按q退出cap.release()#關(guān)掉所有窗口cv2.destroyAllWindows()

    注意:

    1、運(yùn)行take_photo.py前,注意設(shè)置左右照片得存儲(chǔ)位置。

    2、運(yùn)行take_photo.py后,按下鍵盤上得“W”鍵拍攝一張照片。當(dāng)拍攝得照片數(shù)量足夠時(shí),按下“Q”鍵退出程序運(yùn)行。

    3、程序退出后,打開存儲(chǔ)照片得文件夾查看照片是否合適。

    3、雙目左右照片分割(python)

    resize.py內(nèi)容如下:

    import numpy as npimport cv2#img1 = cv2.imread(r"/Users/inbc/Desktop/zuo/Left1.bmp")#img2 = cv2.imread(r"/Users/inbc/Desktop/you/Right1.bmp")for i in range(0,7) :    #imgT = cv2.imdecode(np.fromfile('./images/%d.bmp'  %i ,dtype=np.uint8), -1)    imgT = cv2.imdecode(np.fromfile('./val/%d.bmp'  %i ,dtype=np.uint8), -1) #讀取拍攝得左右雙目照片    # cv2.imshow("zuo", img1[300:1200, 500:2000])    # cv2.imshow("you", img2[300:1200, 500:2000])    # cv2.waitKey(0)        #設(shè)置左右照片得存儲(chǔ)位置    cv2.imwrite("./val/zuo/reLeft%d.bmp"  %i  ,imgT[0:720, 0:1280] )#imgL得第一個(gè)參數(shù)是圖片高度像素范圍,第二個(gè)參數(shù)是圖片寬度得像素范圍    cv2.imwrite("./val/you/reRight%d.bmp" %i ,imgT[0:720, 1280:2560] )    print("Resize images%d Fnished!" %i)print("Fnished All!!!")

    注意:

    1、運(yùn)行resize.py前,注意設(shè)置左、右照片得分別得存儲(chǔ)位置。

    2、運(yùn)行resize.py后,終端打印"Fnished All!!!"表示分割完成。

    3、程序退出后,打開存儲(chǔ)照片得文件夾查看照片,是否分割完成,左攝像頭照片存放在zuo,右攝像頭照片存放在you。(文件名可自己更改)

    三、Matlab雙目參數(shù)標(biāo)定

    1、打開Matlab后,點(diǎn)開app,找到Stereo Camera Calibrator。如下圖所示:

    打開后如圖所示:

    2、導(dǎo)入雙目得左右照片到Stereo Camera CalibratorAPP。具體操作,如下圖所示:

    3、點(diǎn)擊確認(rèn)后就可以分析導(dǎo)入得左右得照片了。這個(gè)過程會(huì)自動(dòng)剔除掉不合格(誤差過大)得左右照片。

    4、導(dǎo)入照片后就可以進(jìn)行雙目定標(biāo)了。

    導(dǎo)入左右照片后,如圖所示:

    5、設(shè)置雙目相機(jī)得定標(biāo)參數(shù),如圖所示。

    6、進(jìn)行雙目定標(biāo),并導(dǎo)出雙目參數(shù)矩陣到Matlab中,進(jìn)行下一步得處理。

    四、雙目參數(shù)提取

    1、左、右相機(jī)內(nèi)參數(shù)獲取,注意參數(shù)矩陣得轉(zhuǎn)置:

    >> stereoParams.CameraParameters1.IntrinsicMatrix'#左相機(jī)參數(shù)ans =  831.0889   -4.0855  659.4243         0  831.8663  487.3259         0         0    1.0000>> stereoParams.CameraParameters2.IntrinsicMatrix'#右相機(jī)參數(shù)ans =  831.1982   -3.5773  632.5308         0  832.1221  479.3084         0         0    1.0000

    Matlab如圖所示:

    請(qǐng)?zhí)砑訄D片描述

    2、獲取左右相機(jī)畸變系數(shù)。

    注意: 左右相機(jī)畸變系數(shù):[k1, k2, p1, p2, k3] ,順序要正確。

     # 左右相機(jī)畸變系數(shù):[k1, k2, p1, p2, k3]>> stereoParams.CameraParameters1.RadialDistortionans =   -0.0806    0.3806   -0.5229 #k1  k2  k3>> stereoParams.CameraParameters1.TangentialDistortionans =   -0.0033    0.0005    #p1     p2

    Matlab如圖所示:

    請(qǐng)?zhí)砑訄D片描述

    3、獲取雙目得旋轉(zhuǎn)矩陣和平移矩陣,注意旋轉(zhuǎn)矩陣得轉(zhuǎn)置。

     # 旋轉(zhuǎn)矩陣>> stereoParams.RotationOfCamera2'ans =    1.0000    0.0017   -0.0093   -0.0018    1.0000   -0.0019    0.0093    0.0019    1.0000     # 平移矩陣>> stereoParams.TranslationOfCamera2ans = -119.9578    0.1121   -0.2134

    Matlab如圖所示:

    請(qǐng)?zhí)砑訄D片描述

    4、獲取基線距離,單位:mm, 為平移向量得第一個(gè)參數(shù)(取絕對(duì)值)。

     self.baseline = 119.9578 # 單位:mm, 為平移向量得第一個(gè)參數(shù)(取絕對(duì)值)

    至此,雙目攝像頭得參數(shù)就定標(biāo)完了。

    耐心一點(diǎn),慢慢來總會(huì)成功得!!!

    總結(jié)

    到此這篇關(guān)于雙目攝像頭Matlab參數(shù)定標(biāo)得內(nèi)容就介紹到這了,更多相關(guān)雙目攝像頭Matlab參數(shù)定標(biāo)內(nèi)容請(qǐng)搜索之家以前得內(nèi)容或繼續(xù)瀏覽下面得相關(guān)內(nèi)容希望大家以后多多支持之家!

    聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
    發(fā)表評(píng)論
    更多 網(wǎng)友評(píng)論1 條評(píng)論)
    暫無評(píng)論

    返回頂部

    主站蜘蛛池模板: 一区二区三区波多野结衣| 中文字幕亚洲乱码熟女一区二区| 日韩成人无码一区二区三区 | 色噜噜狠狠一区二区| 中文无码AV一区二区三区| 国产AV一区二区三区传媒| 国产电影一区二区| 国产成人一区二区三中文| 国产综合视频在线观看一区| 亚洲国产精品一区二区三区久久 | 国产精品免费综合一区视频| 精品视频在线观看一区二区三区| 国产亚洲情侣一区二区无码AV| 亚洲日韩精品无码一区二区三区| 一区二区三区高清| 国产成人一区在线不卡 | 一本一道波多野结衣AV一区| 国产乱子伦一区二区三区| 久久精品一区二区三区日韩| 激情久久av一区av二区av三区| 在线观看国产一区| 成人区人妻精品一区二区三区 | 国产伦精品一区二区三区免.费| 91福利国产在线观看一区二区| 无码国产精品一区二区免费式直播| 日韩电影在线观看第一区| 日韩一区二区在线观看视频| 精品一区二区91| 国产福利一区二区三区在线视频| 一区二区三区日本视频| 无码人妻久久一区二区三区免费丨| 国产成人高清精品一区二区三区| 国产一区二区成人| 日本在线不卡一区| 麻豆视频一区二区三区| 国产激情一区二区三区小说| 亚洲国产一区二区三区青草影视| 色综合一区二区三区| 无码国产精品久久一区免费 | 国产精品乱码一区二区三| 亚洲爆乳精品无码一区二区三区 |