張正友標定 Matlab程式

2021-09-28 12:43:09 字數 3533 閱讀 6376

author@jason_ql(lql0716) 

世界座標系(world coordinate),也稱為測量座標系,是乙個三維直角座標系,以其為基準可以描述相機和待測物體的空間位置。世界座標系的位置可以根據實際情況自由確定。

相機座標系(camera coordinate),也是乙個三維直角座標系,原點位於鏡頭光心處,x、y軸分別與相面的兩邊平行,z軸為鏡頭光軸,與像平面垂直。

其中為3*3的旋轉矩陣,為3*1的平移向量,為相機座標系的齊次座標,為世界座標系的齊次座標。

其中,、分別為畫素在、軸方向上的物理尺寸,為主點(影象原點)座標。

圖2: 

如圖,空間任意一點與其影象點之間的關係,與相機光心的連線為,與像面的交點即為空間點在影象平面上的投影。 

該過程為透視投影,如下矩陣表示:

其中,為比例因子(不為0),為有效焦距(光心到影象平面的距離),是空間點在相機座標系中的齊次座標,是像點在影象座標系中的齊次座標。

其中,、,稱為、軸的尺度因子,稱為相機的內部引數矩陣,稱為相機的外部引數矩陣,稱為投影矩陣。

以下公式由泰勒展式得出,在opencv中,, 為真實座標(發生畸變),為理想座標。

也即:

實際計算過程中,如果考慮太多高階的畸變引數,會導致標定求解的不穩定。

其中,是徑向畸變係數(coefficients of the radial distortion)。

畫素座標表示為: 

即: 

cameraparameters (具有屬性):

camera intrinsics

intrinsicmatrix:

[3x3 double]

focallength:

[510.6720

511.9534]

principalpoint:

[332.3800

238.4849]

skew:

0lens distortion

radialdistortion:

[0.0618

-0.4877]

tangentialdistortion:

[00]

camera extrinsics

rotationmatrices:

[3x3x50 double]

translationvectors:

[50x3 double]

accuracy

of estimation

meanreprojectionerror:

0.1923

reprojectionerrors:

[77x2x50 double]

reprojectedpoints:

[77x2x50 double]

calibration settings

numpatterns:

50worldpoints:

[77x2 double]

worldunits:

'mm'

estimateskew:

0numradialdistortioncoefficients:

2estimatetangentialdistortion:

0estimationerrors =

cameracalibrationerrors (具有屬性):

intrinsicserrors:

[1x1 intrinsicsestimationerrors]

extrinsicserrors:

[1x1 extrinsicsestimationerrors]

>> cameraparams

.intrinsicmatrix

ans =

510.672000

0511.9534

0332.3800

238.4849

1.0000

>> cameraparams

.radialdistortion

ans =

0.0618 -

0.4877

基於生長的棋盤格角點檢測方法–(1)原理介紹

opencv角點檢測、棋盤格檢測、亞畫素cvfindcornersubpix()

相機標定(camera calibration)

opencv相機標定和姿態更新

camera calibration and 3d reconstruction

camera calibration

相機位姿估計1:根據四個特徵點估計相機姿態

head pose estimation using opencv and dlib

opencv角點檢測、棋盤格檢測、亞畫素cvfindcornersubpix()

關於opencv的那些事——相機標定

計算機視覺-相機內引數和外引數

張正友相機標定演算法 【2】

python+opencv學習(17)—攝像機標定

相機標定opencv實現以及標定流程&&標定結果評價&&影象矯正流程解析(附標定程式和棋盤圖)

張正友相機標定opencv實現以及標定流程&&標定結果評價&&影象矯正流程解析(附標定程式和棋盤圖)

matlab–相機標定教程

《學習opencv》

張正友相機標定**《a flexible new technique for camera calibration》

opencv相機標定

畸變模型

相機的那些事兒 - 概念、模型及標定

相機標定(二)之相機畸變模型

張正友標定學習

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

張正友相機標定

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

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

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