Commit b1e9dd54 authored by Dimitrios Psychogyios's avatar Dimitrios Psychogyios Committed by Alexander Alekhin
Browse files

Merge pull request #1941 from surgical-vision:quasi-dense-stereo

Implementation of Quasi Dense Stereo algorithm. (#1941)

* initial commit.

* Remove license header.

* Fix python wrap flags

* Change std::string to cv::String, in function declarations, to resolve compilation issues.

* Add python wrapper extending header

* Fix python wrapper conflicts

* Fix implicit type conversions

* Change C API types and enums to C++.

* Remove redundant included headers and move wanted headers to src/precomp.hpp

* Remove saturate header

* Remove unnecessary python wrapping flags

* Removed defaults parameter header

* Split declaration and implementation of the class using Pimpl.

* Fix to comply with new public API.

* Remove unnecessary modules

* Fix maybe-uninitialized warnings on linux

* Migration to stereo module

* Remove CV_PROP_RW flag.

* Remove CV_EXPORTS flags from class members.

* Fix: Removed misplaced flag

* Remove empty lines.

* Move queue to private headers.

* Fix default arguments of public methods.

* Add authors information and switch to the compact version of license header.

* Reorganize and fix markdown files. Create a table of content and move tutorials in new directories. Modify samples and tutorials to use snippet and include Doxygen commands.

* Change argument name dMatch->denseMatch, to avoid confusion with cv::DMatch build-in type.

* Remove duplicate snippet.

* Fix: change vector resize to reserve.

* Fix: replace extensive license header with the compact version.
parent 25221244
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ $ cmake -D OPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules -D BUILD_opencv_<r

- **sfm**: Structure from Motion -- This module contains algorithms to perform 3d reconstruction from 2d images. The core of the module is a light version of Libmv.

- **stereo**: Stereo Correspondence -- Stereo matching done with different descriptors: Census / CS-Census / MCT / BRIEF / MV.
- **stereo**: Stereo Correspondence -- Stereo matching done with different descriptors: Census / CS-Census / MCT / BRIEF / MV and dense stereo correspondence using Quasi Dense Stereo method.

- **structured_light**: Structured Light Use -- How to generate and project gray code patterns and use them to find dense depth in a scene.

+1 −1
Original line number Diff line number Diff line
set(the_description "Stereo Correspondence")
ocv_define_module(stereo opencv_imgproc opencv_features2d opencv_core opencv_calib3d)
ocv_define_module(stereo opencv_imgproc opencv_features2d opencv_core opencv_calib3d opencv_tracking opencv_video)
+7 −0
Original line number Diff line number Diff line
@@ -2,3 +2,10 @@ Stereo Correspondence with different descriptors
================================================

Stereo matching done with different descriptors: Census / CS-Census / MCT / BRIEF / MV.

Quasi Dense Stereo
======================

Quasi Dense Stereo is method for performing dense stereo matching.
The code uses pyramidal Lucas-Kanade with Shi-Tomasi features to get the initial seed correspondences.
Then these seeds are propagated by using mentioned growing scheme.
+33 −0
Original line number Diff line number Diff line
@InProceedings{Stoyanov2010,
author="Stoyanov, Danail
and Scarzanella, Marco Visentini
and Pratt, Philip
and Yang, Guang-Zhong",
editor="Jiang, Tianzi
and Navab, Nassir
and Pluim, Josien P. W.
and Viergever, Max A.",
title="Real-Time Stereo Reconstruction in Robotically Assisted Minimally Invasive Surgery",
booktitle="Medical Image Computing and Computer-Assisted Intervention (MICCAI 2010)",
year="2010",
publisher="Springer Berlin Heidelberg",
address="Berlin, Heidelberg",
pages="275--282",
abstract="The recovery of 3D tissue structure and morphology during robotic assisted surgery is an important step towards accurate deployment of surgical guidance and control techniques in minimally invasive therapies. In this article, we present a novel stereo reconstruction algorithm that propagates disparity information around a set of candidate feature matches. This has the advantage of avoiding problems with specular highlights, occlusions from instruments and view dependent illumination bias. Furthermore, the algorithm can be used with any feature matching strategy allowing the propagation of depth in very disparate views. Validation is provided for a phantom model with known geometry and this data is available online in order to establish a structured validation scheme in the field. The practical value of the proposed method is further demonstrated by reconstructions on various in vivo images of robotic assisted procedures, which are also available to the community.",
isbn="978-3-642-15705-9"
}

@article{Lhuillier2000,
abstract = {A new robust dense matching algorithm is introduced. The algorithm$\backslash$nstarts from matching the most textured points, then a match propagation$\backslash$nalgorithm is developed with the best first strategy to dense matching.$\backslash$nNext, the matching map is regularised by using the local geometric$\backslash$nconstraints encoded by planar affine applications and by using the$\backslash$nglobal geometric constraint encoded by the fundamental matrix. Two most$\backslash$ndistinctive features are a match propagation strategy developed by$\backslash$nanalogy to region growing and a successive regularisation by local and$\backslash$nglobal geometric constraints. The algorithm is efficient, robust and can$\backslash$ncope with wide disparity. The algorithm is demonstrated on many real$\backslash$nimage pairs, and applications on image interpolation and a creation of$\backslash$nnovel views are also presented},
author = {Lhuillier, Maxime and Quan, Long},
doi = {10.1109/ICPR.2000.905620},
file = {:home/dimitrisps/Desktop/ucl/papers/quasiDenseMatching.pdf:pdf},
isbn = {0-7695-0750-6},
issn = {10514651},
journal = {Proceedings-International Conference on Pattern Recognition},
number = {1},
pages = {968--972},
title = {{Robust dense matching using local and global geometric constraints}},
volume = {15},
year = {2000}
}
+1 −0
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@
#include "opencv2/core/affine.hpp"
#include "opencv2/stereo/descriptor.hpp"
#include "opencv2/stereo/matching.hpp"
#include <opencv2/stereo/quasi_dense_stereo.hpp>

/**
@defgroup stereo Stereo Correspondance Algorithms
Loading