張正友雙目標定

2021-08-01 06:02:17 字數 1825 閱讀 5191

攝像機的標定問題是機器視覺領域的入門問題,可以分為傳統的攝像機定標方法和攝像機自定標方法。定標的方法有很多中常見的有:tsai(傳統)和張正友(介於傳統和自定標)等, 攝像機成像模型和四個座標系(通用原理)。

攝像機模型採用經典的小孔模型,如圖中oc(光心),像面π表示的是視野平面,其到光心的距離為f(鏡頭焦距)。

四個座標系分別為:世界座標系(ow),攝像機座標系(oc),影象物理座標系(o1,單位mm),影象畫素座標系(o,位於視野平面的左上角,單位pix)。

空間某點p到其像點p的座標轉換過程主要是通過這四套座標系的三次轉換實現的,首先將世界座標系進行平移和轉換得到攝像機座標系,然後根據三角幾何變換得到影象物理座標系,最後根據畫素和公制單位的比率得到影象畫素座標系。(實際的應用過程是這個的逆過程,即由畫素長度獲知實際的長度)。

ps:通過攝像頭的標定,可以得到視野平面上的mm/pix解析度,對於視野平面以外的物體還是需要通過座標轉換得到視野平面上。

轉化的過程和公式參見:攝像機標定原理(關鍵是三個座標系).ppt

2 張正友演算法的原理

zhang法通過對一定標板在不同方向多次(三次以上)完整拍照,不需要知道定標板的運動方式。直接獲得相機的內參(參考文獻上矩陣a)和畸變係數。該標定方法精度高於自定標法,且不需要高精度的定位儀器。

公式三項依次表示,徑向畸變,切線畸變,薄稜鏡畸變。opencv中函式只能給出k1,k2,p1,p2。

還存在另外一種畸變模型,見《攝像機標定演算法庫的設計和試驗驗證》一文26 page。(也不知道出處)

ps:單從公式推導的過程來看,第一組公式等號右邊應該是u0。

key:這個方程怎麼求?x,y 代表理想的影象座標(mm),是未知數(不太可能是已知數,xike說的是不考慮畸變的投影值,這個就太簡單了)。

cvmat);

#include "cvut.h"

#include #include #include using namespace cvut;

using namespace std;

void main()

if (0 == cvfindchessboardcorners( view.cvimage, board_size,

image_points_buf, &count, cv_calib_cb_adaptive_thresh ))

else

}delete image_points_buf;

cout<

matriximage_points(1,image_points_seq.cvseq->total,2);

matrixpoint_counts(1,image_count,1);

matrixintrinsic_matrix(3,3,1);

matrixdistortion_coeffs(1,4,1);

matrixrotation_vectors(1,image_count,3);

matrixtranslation_vectors(1,image_count,3);

int i,j,t;

for (t=0;ttotal,str,10);

cout

for (i=0;iimage_points2(1,point_counts(0,0,0),2);

int temp_num = point_counts(0,0,0);

cout<

fout<

for (i=0;irotation_vector(3,1);

matrixrotation_matrix(3,3);

fout<

fout<

張正友標定學習

張正友標定學習 1 標定的理解 影象和三維空間的物體存在某一種對應關係,可以表示為x mx,而其中的m就表示一種幾何模型,這個相機模型中的引數就是相機引數,所以確定相機引數 內參 外參 的過程就為標定。2 從計算機視覺角度理解成像過程 簡化成像模型 薄透鏡針孔模型 圖 成像過程 如上圖所示,從計算機...

張正友相機標定

1.關於資料說明 張正友標定2000 lm演算法1978 the levenberg marquardt algorithm,implementation and theory opencv 參考 其中關於calibratecamera函式可見 此函式會輸出乙個3x3內參矩陣,乙個5維畸變係數,n幅...

張正友標定法原理 張正友標定演算法原理詳解

擊上方 新機器視覺 選擇加 星標 或 置頂 重磅乾貨,第一時間送達 張正友標定 是指張正友教授1998年提出的單平面棋盤格的攝像機標定方法 1 文中提出的方法介於傳統標定法和自標定法之間,但克服了傳統標定法需要的高精度標定物的缺點,而僅需使用乙個列印出來的棋盤格就可以。同時也相對於自標定而言,提高了...