最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2022年07月26日 09:11:39   作者:iNBC  
雙目標(biāo)定是立體視覺系統(tǒng)中的一個(gè)關(guān)鍵步驟,下面這篇文章主要給大家介紹了關(guān)于雙目攝像頭Matlab參數(shù)定標(biāo)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、前期準(zhǔn)備

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

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

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

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

棋盤圖如下圖所示:需要測(cè)量小方框的邊長(zhǎng)(一般單位為毫米: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 cv2
import sys
#引入庫(kù)

cap = cv2.VideoCapture(1) #讀取筆記本內(nèi)置攝像頭或者0號(hào)攝像頭


i = 0
while 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 np
import 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è)過(guò)程會(huì)自動(dòng)剔除掉不合格(誤差過(guò)大)的左右照片。

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.RadialDistortion

ans =

   -0.0806    0.3806   -0.5229 #k1  k2  k3

>> stereoParams.CameraParameters1.TangentialDistortion

ans =

   -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.TranslationOfCamera2

ans =

 -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),慢慢來(lái)總會(huì)成功的!??!

總結(jié)

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

相關(guān)文章

  • Python實(shí)現(xiàn)簡(jiǎn)單字典樹的方法

    Python實(shí)現(xiàn)簡(jiǎn)單字典樹的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單字典樹的方法,實(shí)例分析了Python字典樹的定義、實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下
    2016-04-04
  • python opencv 實(shí)現(xiàn)對(duì)圖像邊緣擴(kuò)充

    python opencv 實(shí)現(xiàn)對(duì)圖像邊緣擴(kuò)充

    今天小編就為大家分享一篇python opencv 實(shí)現(xiàn)對(duì)圖像邊緣擴(kuò)充,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • python使用socket制作聊天室詳細(xì)源碼(可以直接運(yùn)行)

    python使用socket制作聊天室詳細(xì)源碼(可以直接運(yùn)行)

    Python是一個(gè)非常靈活的編程語(yǔ)言,我們現(xiàn)在到處可見用Python編寫的應(yīng)用程序,下面這篇文章主要給大家介紹了關(guān)于python使用socket制作聊天室的相關(guān)資料,文中的代碼可以直接運(yùn)行,需要的朋友可以參考下
    2023-12-12
  • Python實(shí)現(xiàn)批量轉(zhuǎn)換文件編碼的方法

    Python實(shí)現(xiàn)批量轉(zhuǎn)換文件編碼的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)批量轉(zhuǎn)換文件編碼的方法,涉及Python針對(duì)文件的遍歷及編碼轉(zhuǎn)換實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 詳解Python爬蟲爬取博客園問(wèn)題列表所有的問(wèn)題

    詳解Python爬蟲爬取博客園問(wèn)題列表所有的問(wèn)題

    這篇文章主要介紹了詳解Python爬蟲爬取博客園問(wèn)題列表所有的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python實(shí)現(xiàn)的凱撒密碼算法示例

    Python實(shí)現(xiàn)的凱撒密碼算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的凱撒密碼算法,簡(jiǎn)單介紹了凱撒密碼的概念、原理并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)凱撒密碼算法的相關(guān)定義與使用操作技巧,需要的朋友可以參考下
    2018-04-04
  • Python 實(shí)現(xiàn)一個(gè)顏色色值轉(zhuǎn)換的小工具

    Python 實(shí)現(xiàn)一個(gè)顏色色值轉(zhuǎn)換的小工具

    這篇文章主要介紹了Python 實(shí)現(xiàn)一個(gè)顏色色值轉(zhuǎn)換的小工具的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Python語(yǔ)法垃圾回收機(jī)制原理解析

    Python語(yǔ)法垃圾回收機(jī)制原理解析

    這篇文章主要介紹了Python語(yǔ)法垃圾回收機(jī)制原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python實(shí)現(xiàn)刪除某列中含有空值的行的示例代碼

    Python實(shí)現(xiàn)刪除某列中含有空值的行的示例代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)刪除某列中含有空值的行的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python裝飾器的定義和使用詳情

    Python裝飾器的定義和使用詳情

    這篇文章主要介紹了Python裝飾器的定義和使用詳情,裝飾器給已有函數(shù)增加額外的功能的函數(shù),本質(zhì)上是一個(gè)閉包函數(shù),下文更多相關(guān)介紹需要的小伙伴可以參考一下
    2022-04-04

最新評(píng)論

黔江区| 获嘉县| 香港| 二手房| 介休市| 临清市| 竹北市| 云龙县| 宁化县| 盐边县| 无极县| 西华县| 高密市| 资兴市| 开平市| 吴旗县| 灵石县| 深泽县| 博湖县| 彝良县| 峨边| 吉木乃县| 锡林浩特市| 安乡县| 赣榆县| 鄂尔多斯市| 罗田县| 安义县| 金湖县| 开阳县| 淮南市| 临猗县| 陕西省| 驻马店市| 庆安县| 闻喜县| 蕉岭县| 广灵县| 宜兰市| 大丰市| 环江|