Graphics Reference
In-Depth Information
ʱ
−
ʱ
1
back
into the image defines the horizontal extension of the expansion sphere in the image
ʱ
+
ʱ
1
and
Projecting the two rays
r
1
and
r
2
along the viewing angles
r
1
=[
r
1
x
,
r
1
y
,
r
1
z
]=[
z
w
/
tan
(ʱ
+
ʱ
1
),
y
w
,
z
w
]
(4.8)
u
1
=
fr
1
x
/
r
1
z
r
2
=[
r
2
x
,
r
2
y
,
r
2
z
]=[
z
w
/
tan
(ʱ
−
ʱ
1
),
y
w
,
z
w
]
(4.9)
u
2
=
fr
2
x
/
r
2
z
The vertical extension can be calculated similarly:
tan
−
1
ʲ
=
(
z
w
/
y
w
)
(4.10)
sin
−
1
r
v
/
y
w
z
w
+
ʲ
1
=
(4.11)
r
3
=[
r
3
x
,
r
3
y
,
r
3
z
]=[
x
w
,
z
w
/
(ʲ
+
ʲ
1
),
z
w
]
tan
(4.12)
v
1
=
fr
3
y
/
r
3
z
r
4
=[
r
4
x
,
r
4
y
,
r
4
z
)
=
(
x
w
,
z
w
/
tan
(ʲ
−
ʲ
1
),
z
w
]
(4.13)
v
2
=
fr
4
y
/
r
4
z
To determine the new disparity of the rectangular defined by the image coordinates
u
1
,
u
2
,
v
1
and
v
2
the expansion radius
r
v
is subtracted from the
z
-component of
P
and transformed into a disparity value:
z
new
=
z
w
−
r
v
(4.14)
d
new
=−
fb
s
/
z
new
(4.15)
To calculate the full C-space map, (
4.6
)-(
4.15
) are applied to every pixel in the
stereo disparity image. Each
(
u
,
v
,
d
)
triplet defines a rectangular image region
(
with a constant disparity
d
new
, that is written into an output map.
Individual pixels are only updated if the new disparity is larger than the previous
disparity value that was generated by a different
u
1
,
v
1
,
u
2
,
v
2
)
(
u
,
v
,
d
)
triplet.
4.3.3.2 Implementation Aspects
Equations (
4.6
)-(
4.15
) can be precalculated over the disparity space volume. Since
the calculation of
u
1
and
u
2
in (
4.6
)-(
4.9
) is independent of the
y
coordinate it
suffice to precalculate a look-up table to store the values of
u
1
and
u
2
for each
defined (
x
,
d
) combination. Similarly, a look-up table for
v
1
and
v
2
is calculated
,
for each (
y
d
) combination, and finally, the values for
d
new
can be precalculated