您好,登錄后才能下訂單哦!
本篇文章為大家展示了Python中如何進行攝像頭標定,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
扭曲可以用下面的來解決:
類似的,另一個切向畸變是因為成像的光線不是完全平行的到達鏡像平面。所以有些區域比期望的要看上去離的近。可以用下面的方式解決:
由于徑向畸變,直線會顯示成曲線,當直線離圖像中心越遠時越明顯。比如下面顯示的這張圖,棋盤的兩個用紅色標出來的邊緣,你可以看到棋盤不是直線,也不和紅線匹配。所有的直線都凸了。
除此之外,我們需要找到更多的信息,比如攝像頭的內部和外部參數,內部參數是攝像頭特定的參數。包括焦距(fx,fy)。光學中心(cx,cy)。也叫攝像機矩陣。它只依賴攝像頭本身。一旦算出來就可以保存下來為以后使用,它應該是一個3x3的矩陣:
要找到棋盤的模式,我們用函數cv2.findChessboardCorners()。我們也需要傳我們要找的模式的類型,比如8x8網格,5x5網格等,在這個例子里,我們使用7x6網格(一般來說棋盤都是8x8的方塊7x7的內角),它返回角點。這些角點會按照從左到右,從上到下的順序放好。
這個函數可能沒法在所有圖像里找到需要的模式,所以一個號的選擇是寫代碼,啟動攝像機,然后檢查每幀,找需要的模式,當取得了模式,找到角點,并存在列表里。同時提供一些間隔,然后在讀下面的幀的時候我們可以調整我們的棋盤的方向。不斷進行這個過程知道需要的好的模式都獲取到了。即使在這個例子里,我們也不知道多少是好的,所以我們讀入所有的圖像取里面好的。
對于立體的應用,這些扭曲需要首先被矯正。要找到所有的這些參數,我們得做的是提供一些有良好定義模式的樣例圖像(比如棋盤)。我們找到特定的點(棋盤的四個角),我們知道他們的真實世界的坐標,我們知道他們在圖像里的坐標。通過這些數據,后臺就能解決一些數學問題以得到畸變參數。
上述內容就是Python中如何進行攝像頭標定,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。