日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

相机标定 matlab opencv ROS三种方法标定步骤(1)

發布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 相机标定 matlab opencv ROS三种方法标定步骤(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一 、 理解攝像機模型,網上有很多講解的十分詳細,在這里我只是記錄我的整合出來的資料和我的部分理解

? ? ? ? 計算機視覺領域中常見的三個坐標系:圖像坐標系,相機坐標系,世界坐標系,實際上就是要用矩陣來表

??????? 示各個坐標系下的轉換,首先在圖像坐標系下與相機坐標系的關系

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

???????? 可得出 ? Xcam=x/dx+x0, ? ?Ycam=y/dy+y0 ?表示為矩陣形式

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Xcam ? ? ? ? ? 1/dx ? 0 ? ? ?x0 ? ? ? ? ?x

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Ycam ? ? ?= ? ?0 ? ? 1/dy ? y0 ? ?* ? ?y

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? 1 ? ? ? ? ? ? ? 0 ? ? 0 ? ? ? ?1 ? ? ? ? ? 1

? 相機坐標系與圖像坐標系的關系是

?

?

既有可以寫成 ?

我們知道相機坐標系與世界坐標系的關系是

表達成矩陣表示為

?

? ? 可以推導出

?

???????? (這里面的Xc ,Yc,Zc 也就是上面的X Y Z )其中 ?

?????????? K=?就為相機的內參 ? ? R ?T ?為相機的外參(好難編輯)

?

接下來就是說明一下使用MATLAB ?Opencv ,以及ROS環境下的Opencv進行相機校準

? 相機的標定主要有兩種方法? ?? :攝像頭標定方法和攝像頭自標定方法,典型的有:(1)Tsai(傳統的標定方法)? (2)張正友(介于傳統與自標定方法之間)張正友標定法由于很簡單

所以得到廣泛 的應用,張正友標定法的步驟:

? ? ? ?? ? 1、打印一張模板并貼在一個平面上;
?????? ? ? 2、從不同角度拍攝若干張模板圖像;
?????????? 3、檢測出圖像中的特征點;
?????????? 4、求出攝像機的外參數(單應性矩陣)和內參數(最大似然估計) ;
?????????? 5、求出畸變系數;??????????

??????????? 6、優化求精。

?二、對于在matlab中進行相機標定是一件非常簡單的事,因為在matlab官方網站,以及matlab中文論壇上都是有教程的,只需要找到標定模板就可以了,

? ? ? ? ? ? ? ? ? ? matlab中文論壇的學習網址 ? http://www.ilovematlab.cn/thread-267670-1-1.html

? ? ? ? ? ? ? ? ? ? 詳細相機標定過程請參考 ? ? ?http://www.mathworks.com/help/vi ... ator.html#btxr8c_-2

? ? ? ? ? ? ? ? ? ??MATLAB相機標定教學視頻 ??http://www.mathworks.com/videos/ ... h-matlab-81233.html

?

2.1 ? 首先我們得準備軟件matlab,安裝matlab就按照網上的教程既可以安裝成功了,不過安裝過程可能遇到一些軟件破解的一些問題,如果安裝不上,

??????? 那就果斷的換安裝的軟件版本, 其次就是準備標定魔板,我是直? 接用A3的紙打印了標準的棋盤方格,自己百度一下標定棋盤網上有很多圖紙可供下載,

?????? http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration?action=AttachFile&do=view&target=check-108.pdf

????? 我使用的就是check-108,其中108代表的是每個小方格的邊長為108mm,使用A3的紙張打印,后來測量一下每個黑白方格的邊長為35mm,

? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

2.2? 材料和軟件都準備好了,我們在準備攝像頭,我們有四個選擇:(1)手機拍照 我們就標定手機的攝像頭,(2)筆記本自帶的攝像頭,(3)使用帶USB的的攝像頭(4)網上提供的模板

???? 2.2.1 手機攝像頭標定,最好的方法是將手機固定,然后移動標定模板,改變模板的遠近位置,以及翻轉角度等等,如下圖

???????????? 這里面是我把標定模板給固定,改變手機的位置,這就導致拍出來的照騙有些事不能用的(可以試試),就會明白為什么會不能進行標定了,

?

? 這只是展示其中四張照片,當然拍下來的至少要20張不一樣的照片,現在開始使用MATLAB進行標定了,

?2.2.2當我們想標定筆記本的攝像頭或者我自己外界一個攝像頭的時候,就需要使用一個軟件去獲取攝像頭的照騙,使用 Ecap軟件就可以打開攝像頭,并且捕捉照騙

?

可以捕獲很多不同角度的關于標定模板的圖片,至少需要20張,緊接著打開matlab,在命令行輸入

? ?>> cameraCalibrator??? 出現:

?

??? 之后可以添加“add images”,然后選擇我的模板的方格大小,默認是25mm ? 改為與實際模板一致的邊長是35mm

???????? ???

也可以直接添加網上所提供的標定模板,

??????? ?

此標定模板為6*4?? 108mm 添加完選擇“”calibrate“”有

???

右邊出現一下統計圖,左下角就是每個圖片相對攝像頭的遠近和角度,點擊保存calibration.mat文件,點擊“Export camera parameters”出現標定的結果

到此MATLAB的相機標定就完成了

(雖然我寫的很幸苦,但是我也只是想記錄下我的實驗過程,中間也遇到很多問題,這都是解決后的結果本來是1,2,3放在一起的

? 但是因為篇幅太長,只好將其分為三段,中間也丟失過好幾次,然后又重新寫,大神們看見就當是在看笑話,一笑了之即可,

? 我知道這其中沒有什么創新可言,真實慚愧,謝謝)

?

版權所有,轉載請注明出處

如果您覺得看完有所收獲,歡迎掃一掃,可以資助一分,幾分money,不在乎多少(我也是跟網上的大神們學的),不想掙錢娶媳婦的程序員不是好程序員,謝謝

? ? ? ? ?

總結

以上是生活随笔為你收集整理的相机标定 matlab opencv ROS三种方法标定步骤(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。