本篇文章為大家展示了Python中如何進(jìn)行攝像頭標(biāo)定,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司10多年成都企業(yè)網(wǎng)站定制服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及高端網(wǎng)站定制服務(wù),成都企業(yè)網(wǎng)站定制及推廣,對(duì)成都房屋鑒定等多個(gè)方面擁有豐富建站經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。扭曲可以用下面的來(lái)解決:
類似的,另一個(gè)切向畸變是因?yàn)槌上竦墓饩€不是完全平行的到達(dá)鏡像平面。所以有些區(qū)域比期望的要看上去離的近??梢杂孟旅娴姆绞浇鉀Q:
由于徑向畸變,直線會(huì)顯示成曲線,當(dāng)直線離圖像中心越遠(yuǎn)時(shí)越明顯。比如下面顯示的這張圖,棋盤的兩個(gè)用紅色標(biāo)出來(lái)的邊緣,你可以看到棋盤不是直線,也不和紅線匹配。所有的直線都凸了。
除此之外,我們需要找到更多的信息,比如攝像頭的內(nèi)部和外部參數(shù),內(nèi)部參數(shù)是攝像頭特定的參數(shù)。包括焦距(fx,fy)。光學(xué)中心(cx,cy)。也叫攝像機(jī)矩陣。它只依賴攝像頭本身。一旦算出來(lái)就可以保存下來(lái)為以后使用,它應(yīng)該是一個(gè)3x3的矩陣:
要找到棋盤的模式,我們用函數(shù)cv2.findChessboardCorners()。我們也需要傳我們要找的模式的類型,比如8x8網(wǎng)格,5x5網(wǎng)格等,在這個(gè)例子里,我們使用7x6網(wǎng)格(一般來(lái)說(shuō)棋盤都是8x8的方塊7x7的內(nèi)角),它返回角點(diǎn)。這些角點(diǎn)會(huì)按照從左到右,從上到下的順序放好。
這個(gè)函數(shù)可能沒法在所有圖像里找到需要的模式,所以一個(gè)號(hào)的選擇是寫代碼,啟動(dòng)攝像機(jī),然后檢查每幀,找需要的模式,當(dāng)取得了模式,找到角點(diǎn),并存在列表里。同時(shí)提供一些間隔,然后在讀下面的幀的時(shí)候我們可以調(diào)整我們的棋盤的方向。不斷進(jìn)行這個(gè)過(guò)程知道需要的好的模式都獲取到了。即使在這個(gè)例子里,我們也不知道多少是好的,所以我們讀入所有的圖像取里面好的。
對(duì)于立體的應(yīng)用,這些扭曲需要首先被矯正。要找到所有的這些參數(shù),我們得做的是提供一些有良好定義模式的樣例圖像(比如棋盤)。我們找到特定的點(diǎn)(棋盤的四個(gè)角),我們知道他們的真實(shí)世界的坐標(biāo),我們知道他們?cè)趫D像里的坐標(biāo)。通過(guò)這些數(shù)據(jù),后臺(tái)就能解決一些數(shù)學(xué)問(wèn)題以得到畸變參數(shù)。
上述內(nèi)容就是Python中如何進(jìn)行攝像頭標(biāo)定,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。