This class computes stereo correspondence (disparity map) using the block matching algorithm.
Class computing stereo correspondence (disparity map) using the block matching algorithm.
::
::
class StereoBM_GPU
class StereoBM_GPU
...
@@ -57,7 +57,7 @@ gpu::StereoBM_GPU::StereoBM_GPU
...
@@ -57,7 +57,7 @@ gpu::StereoBM_GPU::StereoBM_GPU
Enables ``StereoBM_GPU`` constructors.
Enables ``StereoBM_GPU`` constructors.
:param preset: Preset:
:param preset: Parameter presetting:
* **BASIC_PRESET** Basic mode without pre-processing.
* **BASIC_PRESET** Basic mode without pre-processing.
...
@@ -101,7 +101,7 @@ gpu::StereoBeliefPropagation
...
@@ -101,7 +101,7 @@ gpu::StereoBeliefPropagation
----------------------------
----------------------------
.. ocv:class:: gpu::StereoBeliefPropagation
.. ocv:class:: gpu::StereoBeliefPropagation
This class computes stereo correspondence using the belief propagation algorithm. ::
Class computing stereo correspondence using the belief propagation algorithm. ::
class StereoBeliefPropagation
class StereoBeliefPropagation
{
{
...
@@ -144,23 +144,23 @@ This class computes stereo correspondence using the belief propagation algorithm
...
@@ -144,23 +144,23 @@ This class computes stereo correspondence using the belief propagation algorithm
...
...
};
};
The class implements Pedro F. Felzenszwalb algorithm [Pedro F. Felzenszwalb and Daniel P. Huttenlocher. Efficient belief propagation for early vision. International Journal of Computer Vision, 70(1), October 2006]. It can compute own data cost (using a truncated linear model) or use a user-provided data cost.
The class implements Pedro F. Felzenszwalb algorithm [Pedro F. Felzenszwalb and Daniel P. Huttenlocher. *Efficient belief propagation for early vision*. International Journal of Computer Vision, 70(1), October 2006]. It can compute own data cost (using a truncated linear model) or use a user-provided data cost.
**Note:**
.. note::
``StereoBeliefPropagation`` requires a lot of memory for message storage:
``StereoBeliefPropagation`` requires a lot of memory for message storage:
DiscTerm = \min (disc \_ single \_ jump \cdot \lvert f_1-f_2 \rvert , max \_ disc \_ term)
DiscTerm = \min (disc \_ single \_ jump \cdot \lvert f_1-f_2 \rvert , max \_ disc \_ term)
For more details, see [Pedro F. Felzenszwalb and Daniel P. Huttenlocher. Efficient belief propagation for early vision. International Journal of Computer Vision, 70(1), October 2006].
For more details, see [Pedro F. Felzenszwalb and Daniel P. Huttenlocher. *Efficient belief propagation for early vision*. International Journal of Computer Vision, 70(1), October 2006].
By default, :ocv:class:`StereoBeliefPropagation` uses floating-point arithmetics and the ``CV_32FC1`` type for messages. But it can also use fixed-point arithmetics and the ``CV_16SC1`` message type for better performance. To avoid an overflow in this case, the parameters must satisfy the following requirement:
By default, :ocv:class:`StereoBeliefPropagation` uses floating-point arithmetics and the ``CV_32FC1`` type for messages. But it can also use fixed-point arithmetics and the ``CV_16SC1`` message type for better performance. To avoid an overflow in this case, the parameters must satisfy the following requirement:
:param data: The user-specified data cost, a matrix of ``msg_type`` type and ``Size(<image columns>*ndisp, <image rows>)`` size.
:param data: User-specified data cost, a matrix of ``msg_type`` type and ``Size(<image columns>*ndisp, <image rows>)`` size.
:param disparity: Output disparity map. If the matrix is empty, it is created as the ``CV_16SC1`` matrix. Otherwise, the type is retained.
:param disparity: Output disparity map. If the matrix is empty, it is created as the ``CV_16SC1`` matrix. Otherwise, the type is retained.
...
@@ -249,7 +249,7 @@ gpu::StereoConstantSpaceBP
...
@@ -249,7 +249,7 @@ gpu::StereoConstantSpaceBP
--------------------------
--------------------------
.. ocv:class:: gpu::StereoConstantSpaceBP
.. ocv:class:: gpu::StereoConstantSpaceBP
This class computes stereo correspondence using the constant space belief propagation algorithm. ::
Class computing stereo correspondence using the constant space belief propagation algorithm. ::
class StereoConstantSpaceBP
class StereoConstantSpaceBP
{
{
...
@@ -300,7 +300,7 @@ This class computes stereo correspondence using the constant space belief propag
...
@@ -300,7 +300,7 @@ This class computes stereo correspondence using the constant space belief propag
};
};
The class implements Q. Yang algorithm [Q. Yang, L. Wang, and N. Ahuja. A constant-space belief propagation algorithm for stereo matching. In CVPR, 2010]. ``StereoConstantSpaceBP`` supports both local minimum and global minimum data cost initialization algortihms. For more details, see the paper. By default, a local algorithm is used. To enable a global algorithm, set ``use_local_init_data_cost`` to ``false``.
The class implements Q. Yang algorithm [Q. Yang, L. Wang, and N. Ahuja. *A constant-space belief propagation algorithm for stereo matching*. In CVPR, 2010]. ``StereoConstantSpaceBP`` supports both local minimum and global minimum data cost initialization algortihms. For more details, see the paper mentioned above. By default, a local algorithm is used. To enable a global algorithm, set ``use_local_init_data_cost`` to ``false``.
DiscTerm = \min (disc \_ single \_ jump \cdot \lvert f_1-f_2 \rvert , max \_ disc \_ term)
DiscTerm = \min (disc \_ single \_ jump \cdot \lvert f_1-f_2 \rvert , max \_ disc \_ term)
For more details, see [Q. Yang, L. Wang, and N. Ahuja. A constant-space belief propagation algorithm for stereo matching. In CVPR, 2010].
For more details, see [Q. Yang, L. Wang, and N. Ahuja. *A constant-space belief propagation algorithm for stereo matching*. In CVPR, 2010].
By default, ``StereoConstantSpaceBP`` uses floating-point arithmetics and the ``CV_32FC1`` type for messages. But it can also use fixed-point arithmetics and the ``CV_16SC1`` message type for better perfomance. To avoid an overflow in this case, the parameters must satisfy the following requirement:
By default, ``StereoConstantSpaceBP`` uses floating-point arithmetics and the ``CV_32FC1`` type for messages. But it can also use fixed-point arithmetics and the ``CV_16SC1`` message type for better perfomance. To avoid an overflow in this case, the parameters must satisfy the following requirement:
...
@@ -385,7 +385,7 @@ gpu::DisparityBilateralFilter
...
@@ -385,7 +385,7 @@ gpu::DisparityBilateralFilter
-----------------------------
-----------------------------
.. ocv:class:: gpu::DisparityBilateralFilter
.. ocv:class:: gpu::DisparityBilateralFilter
This class refines a disparity map using joint bilateral filtering. ::
Class refinining a disparity map using joint bilateral filtering. ::
class CV_EXPORTS DisparityBilateralFilter
class CV_EXPORTS DisparityBilateralFilter
{
{
...
@@ -410,7 +410,7 @@ This class refines a disparity map using joint bilateral filtering. ::
...
@@ -410,7 +410,7 @@ This class refines a disparity map using joint bilateral filtering. ::
};
};
The class implements Q. Yang algorithm [Q. Yang, L. Wang, and N. Ahuja. A constant-space belief propagation algorithm for stereo matching. In CVPR, 2010].
The class implements Q. Yang algorithm [Q. Yang, L. Wang, and N. Ahuja. *A constant-space belief propagation algorithm for stereo matching*. In CVPR, 2010].