Skip to content

Commit b9ad0d4

Browse files
authored
Merge pull request #2936 from savuor:rgbd_to_3d
Moving RGBD parts to 3d * KinFu reference removed * include files removed * test, perf and misc files for rgbd removed (placed in main repo) * src files removed * KinFu & family in contrib * forgot to move test_colored_kinfu.cpp to contrib * CMake: extra dependency removed * test_precomp: namespace removed * include headers list fixed * namespaces fixed * 2 demos moved to main repo * volParams in demos: resolution and pose * minors * params.pose, resolution -> by elem * %s%KinFu pipelines: ICP -> Odometry, pyramids -> OdometryFrame, submaps ->> namespace detail * DynaFu TSDF: Intr -> Matx33f * colored KinFu: keeping colors, proper caching * all KinFus: proper caching * ICP call: Affine3f -> Matx44d * returning linemode back to contrib * params.pose is Mat now * adding forgotten file * minor compilation fix * VolumeType -> VolumeParams * (temporarily) removing bindings from a field * pyopencv_linemod -> contrib * wrap Volume, VolumeType from enum to int * fixing headers paths * render...() fixed * makeVolume(... resolution -> [X, Y, Z]) * *KinfuParams: fields wrapped * trailing whitespaces * adding LONG tags to tests * OdometryFrame::create -> Odometry::makeOdometryFrame(); rerun builders * VolumeType -> VolumeKind * WillowGarage license removed * Odometry: static const-mimicking functions to internal constants * workarounds for ICP maxRotation and maxTranslation * explicitly include 3d/detail headers * minor (mostly to rerun buildbot)
1 parent e745fe6 commit b9ad0d4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+414
-19502
lines changed

modules/aruco/src/apriltag_quad_thresh.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ int quad_segment_maxima(const Ptr<DetectorParameters> &td, int sz, struct line_f
394394
double params01[4], params12[4], params23[4], params30[4];
395395

396396
// disallow quads where the angle is less than a critical value.
397-
double max_dot = cos(td->aprilTagCriticalRad); //25*M_PI/180);
397+
double max_dot = std::cos(td->aprilTagCriticalRad); //25*M_PI/180);
398398

399399
for (int m0 = 0; m0 < nmaxima - 3; m0++) {
400400
int i0 = maxima[m0];

modules/rgbd/CMakeLists.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
11
set(the_description "RGBD algorithms")
22

3-
ocv_define_module(rgbd opencv_core opencv_calib3d opencv_imgproc OPTIONAL opencv_viz WRAP python)
4-
5-
if(NOT HAVE_EIGEN)
6-
message(STATUS "rgbd: Eigen support is disabled. Eigen is Required for Posegraph optimization")
7-
endif()
3+
ocv_define_module(rgbd opencv_core opencv_3d opencv_imgproc OPTIONAL opencv_viz WRAP python)

modules/rgbd/LICENSE_WillowGarage.md

Lines changed: 0 additions & 31 deletions
This file was deleted.

modules/rgbd/doc/rgbd.bib

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,3 @@
1-
@inproceedings{kinectfusion,
2-
author = {Izadi, Shahram and Kim, David and Hilliges, Otmar and Molyneaux, David and Newcombe, Richard and Kohli, Pushmeet and Shotton, Jamie and Hodges, Steve and Freeman, Dustin and Davison, Andrew and Fitzgibbon, Andrew},
3-
title = {KinectFusion: Real-time 3D Reconstruction and Interaction Using a Moving Depth Camera},
4-
booktitle = {},
5-
year = {2011},
6-
month = {October},
7-
abstract = {
8-
KinectFusion enables a user holding and moving a standard Kinect camera to rapidly create detailed 3D reconstructions of an indoor scene. Only the depth data from Kinect is used to track the 3D pose of the sensor and reconstruct, geometrically precise, 3D models of the physical scene in real-time. The capabilities of KinectFusion, as well as the novel GPU-based pipeline are described in full. We show uses of the core system for low-cost handheld scanning, and geometry-aware augmented reality and physics-based interactions. Novel extensions to the core GPU pipeline demonstrate object segmentation and user interaction directly in front of the sensor, without degrading camera tracking or reconstruction. These extensions are used to enable real-time multi-touch interactions anywhere, allowing any planar or non-planar reconstructed physical surface to be appropriated for touch.
9-
},
10-
publisher = {ACM},
11-
url = {https://www.microsoft.com/en-us/research/publication/kinectfusion-real-time-3d-reconstruction-and-interaction-using-a-moving-depth-camera/},
12-
address = {},
13-
pages = {559-568},
14-
journal = {},
15-
volume = {},
16-
chapter = {},
17-
isbn = {978-1-4503-0716-1},
18-
}
191
@inproceedings{dynamicfusion,
202
author = {Newcombe, Richard A. and Fox, Dieter and Seitz, Steven M.},
213
title = {DynamicFusion: Reconstruction and Tracking of Non-Rigid Scenes in Real-Time},

modules/rgbd/include/opencv2/rgbd.hpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,11 @@
99
#ifndef __OPENCV_RGBD_HPP__
1010
#define __OPENCV_RGBD_HPP__
1111

12-
#include "opencv2/rgbd/linemod.hpp"
13-
#include "opencv2/rgbd/depth.hpp"
14-
#include "opencv2/rgbd/kinfu.hpp"
1512
#include "opencv2/rgbd/dynafu.hpp"
16-
#include "opencv2/rgbd/large_kinfu.hpp"
17-
#include "opencv2/rgbd/detail/pose_graph.hpp"
13+
#include "opencv2/rgbd/kinfu.hpp"
1814
#include "opencv2/rgbd/colored_kinfu.hpp"
19-
15+
#include "opencv2/rgbd/large_kinfu.hpp"
16+
#include "opencv2/rgbd/linemod.hpp"
2017

2118
/** @defgroup rgbd RGB-Depth Processing
2219
*/

modules/rgbd/include/opencv2/rgbd/colored_kinfu.hpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#include "opencv2/core.hpp"
1111
#include "opencv2/core/affine.hpp"
12-
#include <opencv2/rgbd/volume.hpp>
12+
#include <opencv2/3d.hpp>
1313

1414
namespace cv {
1515
namespace colored_kinfu {
@@ -18,8 +18,10 @@ namespace colored_kinfu {
1818

1919
struct CV_EXPORTS_W Params
2020
{
21-
22-
CV_WRAP Params(){}
21+
CV_WRAP Params()
22+
{
23+
setInitialVolumePose(Matx44f::eye());
24+
}
2325

2426
/**
2527
* @brief Constructor for Params
@@ -85,7 +87,7 @@ struct CV_EXPORTS_W Params
8587
/** @brief rgb frame size in pixels */
8688
CV_PROP_RW Size rgb_frameSize;
8789

88-
CV_PROP_RW kinfu::VolumeType volumeType;
90+
CV_PROP_RW int volumeKind;
8991

9092
/** @brief camera intrinsics */
9193
CV_PROP_RW Matx33f intr;
@@ -127,7 +129,7 @@ struct CV_EXPORTS_W Params
127129
CV_PROP_RW float tsdf_min_camera_movement;
128130

129131
/** @brief initial volume pose in meters */
130-
Affine3f volumePose;
132+
CV_PROP_RW Matx44f volumePose;
131133

132134
/** @brief distance to truncate in meters
133135

0 commit comments

Comments
 (0)