无畸变的世界坐标系转换为像素坐标系
Z c a m e r a [ u v 1 ] = [ 1 d x u 0 1 d y v 0 1 ] [ f 0 f 0 1 0 ] [ R T 0 ⇀ 1 ] [ X Y Z 1 ] Z_{camera}\begin{bmatrix}u\\v\\1\end{bmatrix} =\begin{bmatrix}\frac{1}{dx}&&u_0\\&\frac{1}{dy}&v_0\\&&1\end{bmatrix} \begin{bmatrix}f&&&0\\&f&&0\\&&1&0\end{bmatrix} \begin{bmatrix}R&T\\\overset\rightharpoonup0&1\end{bmatrix} \begin{bmatrix}X\\Y\\Z\\1\end{bmatrix} Zcamera uv1 = dx1dy1u0v01 ff1000 [R0⇀T1] XYZ1
相机外参
[ R T 0 ⇀ 1 ] 为相机外参,描述的是相机在空间中的位置 T 3 × 1 与姿态 R 3 × 3 , [ R T 0 ⇀ 1 ] [ X Y Z 1 ] = [ X c a m e r a Y c a m e r a Z c a m e r a 1 ] \begin{bmatrix}R&T\\\overset\rightharpoonup0&1\end{bmatrix}为相机外参,描述的是相机在空间中的位置T_{3×1}与姿态R_{3×3},\\ \begin{bmatrix}R&T\\\overset\rightharpoonup0&1\end{bmatrix} \begin{bmatrix}X\\Y\\Z\\1\end{bmatrix} = \begin{bmatrix}X_{camera}\\Y_{camera}\\Z_{camera}\\1\end{bmatrix} [R0⇀T1]为相机外参,描述的是相机在空间中的位置T3×1与姿态R3×3,[R0⇀T1] XYZ1 = XcameraYcameraZcamera1
相机内参
其中
[
1
d
x
u
0
1
d
y
v
0
1
]
[
f
0
f
0
1
0
]
=
[
f
d
x
u
0
0
f
d
y
v
0
0
1
0
]
为相机的内参,将相机坐标转换为图像坐标
[
1
d
x
u
0
1
d
y
v
0
1
]
为
C
C
D
图像传感参数,
[
f
0
f
0
1
0
]
为镜头参数,
f
,
f
为镜头的相同的焦距
其中 \begin{bmatrix}\frac{1}{dx}&&u_0\\&\frac{1}{dy}&v_0\\&&1\end{bmatrix} \begin{bmatrix}f&&&0\\&f&&0\\&&1&0\end{bmatrix}= \begin{bmatrix}\frac{f}{dx} &&u_0&0\\&\frac{f}{dy}&v_0&0\\&&1&0\end{bmatrix} \\ 为相机的内参,将相机坐标转换为图像坐标\\ \begin{bmatrix}\frac{1}{dx}&&u_0\\&\frac{1}{dy}&v_0\\&&1\end{bmatrix}为CCD图像传感参数,\begin{bmatrix}f&&&0\\&f&&0\\&&1&0\end{bmatrix}为镜头参数,f ,f为镜头的相同的焦距
其中
dx1dy1u0v01
ff1000
=
dxfdyfu0v01000
为相机的内参,将相机坐标转换为图像坐标
dx1dy1u0v01
为CCD图像传感参数,
ff1000
为镜头参数,f,f为镜头的相同的焦距
d
x
,
d
y
为像元尺寸,
d
x
为每个像素长在传感器中对应的长度,
比如某
10
×
10
m
m
的传感器,生成的图片为
1000
×
1000
p
x
,
则
d
x
=
10
1000
m
m
x
d
x
为图像的长度
x
(
单位
m
)
在图片的像素长度
(
单位
p
x
)
f
d
x
=
f
∗
h
i
m
a
g
e
h
c
c
d
dx,dy 为像元尺寸,dx为每个像素长在传感器中对应的长度,\\ 比如某10×10mm的传感器,生成的图片为1000×1000px,则\color{red}dx=\frac{10}{1000}mm\\ \frac{x}{dx}为图像的长度x(单位m)在图片的像素长度(单位px)\\ \frac{f}{dx}=f*\frac{h_{image}}{h_{ccd}}
dx,dy为像元尺寸,dx为每个像素长在传感器中对应的长度,比如某10×10mm的传感器,生成的图片为1000×1000px,则dx=100010mmdxx为图像的长度x(单位m)在图片的像素长度(单位px)dxf=f∗hccdhimage
镜头参数
x
,
y
为图像坐标,
Z
c
a
m
e
r
a
表示去除外参后得到的世界坐标位置
x,y为图像坐标,Z_{camera}表示去除外参后得到的世界坐标位置
x,y为图像坐标,Zcamera表示去除外参后得到的世界坐标位置
X
c
x
=
Y
c
y
=
Z
c
f
x
=
f
X
c
Z
c
,
y
=
f
Y
c
Z
c
即
Z
c
[
x
y
1
]
=
[
f
0
f
0
1
0
]
[
X
c
a
m
e
r
a
Y
c
a
m
e
r
a
Z
c
a
m
e
r
a
1
]
\frac{X_c}{x} =\frac{Y_c}{y} =\frac{Z_c}{f} \\ x=f\frac{X_c}{Z_c},y=f\frac{Y_c}{Z_c}即Z_c\begin{bmatrix}x\\y\\1\end{bmatrix}=\begin{bmatrix}f&&&0\\&f&&0\\&&1&0\end{bmatrix}\begin{bmatrix}X_{camera}\\Y_{camera}\\Z_{camera}\\1\end{bmatrix}
xXc=yYc=fZcx=fZcXc,y=fZcYc即Zc
xy1
=
ff1000
XcameraYcameraZcamera1
图像的中心坐标为(
u
0
,
v
0
)
{
u
=
x
d
x
+
u
0
v
=
y
d
y
+
v
0
即
[
u
v
1
]
=
[
1
d
x
u
0
1
d
y
v
0
1
]
[
x
y
1
]
图像的中心坐标为(u_0,v_0)\\ \left\{\begin{array}{l}u=\frac{x}{dx}+u_0\\v=\frac{y}{dy}+v_0\end{array}\right.即\begin{bmatrix}u\\v\\1\end{bmatrix}= \begin{bmatrix}\frac{1}{dx}&&u_0\\&\frac{1}{dy}&v_0\\&&1\end{bmatrix} \begin{bmatrix}x\\y\\1\end{bmatrix}
图像的中心坐标为(u0,v0){u=dxx+u0v=dyy+v0即
uv1
=
dx1dy1u0v01
xy1
最终结果为:
Z
c
a
m
e
r
a
[
u
v
1
]
=
[
1
d
x
u
0
1
d
y
v
0
1
]
[
f
0
f
0
1
0
]
[
R
T
0
⇀
1
]
[
X
Y
Z
1
]
Z_{camera}\begin{bmatrix}u\\v\\1\end{bmatrix} =\begin{bmatrix}\frac{1}{dx}&&u_0\\&\frac{1}{dy}&v_0\\&&1\end{bmatrix} \begin{bmatrix}f&&&0\\&f&&0\\&&1&0\end{bmatrix} \begin{bmatrix}R&T\\\overset\rightharpoonup0&1\end{bmatrix} \begin{bmatrix}X\\Y\\Z\\1\end{bmatrix}
Zcamera
uv1
=
dx1dy1u0v01
ff1000
[R0⇀T1]
XYZ1
应用
某人距离高
324
米的埃菲尔铁塔
1500
米,他希望所得的长为
1280
p
i
x
的图片中,
欸菲尔铁塔的长为
960
p
i
x
,
所用的相机
C
C
D
长为
21.8
m
m
,
应选用的焦距为?
(
外参
R
=
I
,
T
=
0
)
某人距离高324米的埃菲尔铁塔1500米,他希望所得的长为1280pix的图片中,\\ 欸菲尔铁塔的长为960pix,所用的相机CCD长为21.8mm,应选用的焦距为?(外参R=I,T=0)
某人距离高324米的埃菲尔铁塔1500米,他希望所得的长为1280pix的图片中,欸菲尔铁塔的长为960pix,所用的相机CCD长为21.8mm,应选用的焦距为?(外参R=I,T=0)
$$$$
Z [ u v 1 ] = [ f ∗ h i m a g e h c c d u 0 0 f ∗ h i m a g e h c c d v 0 0 1 0 ] [ X Y Z 1 ] 则 Z ∗ u = f ∗ h i m a g e h c c d ∗ X 1500 ∗ 960 = f ∗ 1280 0.021.8 ∗ 324 Z\begin{bmatrix}u\\v\\1\end{bmatrix} =\begin{bmatrix}f*\frac{h_{image}}{h_{ccd}}&&u_0&0\\&f*\frac{h_{image}}{h_{ccd}}&v_0&0\\&&1&0\end{bmatrix} \begin{bmatrix}X\\Y\\Z\\1\end{bmatrix}\\ 则Z*u=f*\frac{h_{image}}{h_{ccd}}*X\\ 1500*960=f*\frac{1280}{0.021.8}*324 Z uv1 = f∗hccdhimagef∗hccdhimageu0v01000 XYZ1 则Z∗u=f∗hccdhimage∗X1500∗960=f∗0.021.81280∗324