Add depth_factor argument in rescaleDepth and typedef dynafu::Params for backwards compatibility
* Add depth factor argument (default = 1000.0) to rescaleDepth to
potentially support TUM type datasets
* typedef dynafu::Params as kinfu::Params for compatibility
Color Calibration Algorithm Implementation Revised
* Add utils, io helpers, the operations for linearization and distance
* Add the code for color, colorspace, linearization and ccm computation
* Add sample code for color correction
* Add the dependency to opencv_imgcodes in CMakeLists.txt
* Add the color correction tutorial, introducing build steps and
parameters
* Add sample code to color correction tutorial
* Add color correction algorithms introductions
* Update color_correction_model.markdown
* Fix warnings of whitespace, undeclared function, shadow variables.
* Fix the warnings of shadow variables, unused variable in base class.
Fix the error whitespace and 'EOF' on the docs.
* Fix the warnnings on win & macos
* Fix bugs & support Vinyl ColorChecker
* fix shadow variables warning & code style
* update document for sample
* update license
* fix linearize.hpp
* Add basic io, utils, operations helpers.
Implement color distance.
* Implement color, colorspace, linearization and ccm features.
* Add the dependencies to opencv_imgcodecs in CMakeLists.txt
* Add color correction model sample code.
Co-authored-by: Chenqi Shan <shanchenqi@huawei.com>
* Add the index markdown of color correction tutorial.
Co-authored-by: Chenqi Shan <shanchenqi@huawei.com>
* Add the introduction for color correction sample.
* Split operations into .hpp and .cpp
* Split mcc, color, colorspace and linearize into .cpp & .hpp
* Update test cases
* Split distance, io and utils into cpp & hpp.
Refer ccm.hpp in entrypoint header and update realted refs in sampe & tutorial
* add static method
* fix shared_ptr
* fix markdown for new version
* delete useless include message
* update unittests
* update docs & fix bugs for InitialwhiteBalance()
* update doc for doxygen
* update doc&DigitalSG
* replace whitespace for utils.hpp&color.hpp
* update getilluminants,imgcodes,
* Fix Mat wrapper over data from C arrays, fix doxygen's @snippet instead of direct code.
* remove array from color.h
* remove hpp from include/mcc/
* add hpp to opencv/model/mcc/
* dst unsolved
* remove bugs about dst
* add make passed
* update codes using the structure "impl"
* update documents
* update ccm member for class ColorCorrectionModel
* remove macro CV_EXPORTS_W for codes in src/*.hpp
* move class Impl private
* remove unnesasary notice
* remove trailing whitespace
* update documents&samples
* move typedef MatFunc into class and move dead codes
* minimize list of required headers, add getCCM() method
* move type: information for parameters
* move underscores _ in public headers
* add @defgroup for ccm
* move <iostream> and add getloss() method for class ColorCorrection Model
* update sample/color_correction_model.cpp
* add getIOs() function for minimize initialization of IO variables
* mcc(ccm): apply clang-format
* mcc(ccm): fix documentation, code style
* remove duplicate enum values
* add prefixes for enum values
* update codes using cv_Error
* update test_ccm file
* update test_ccm file
* update sample --help
* mcc: reduce global initializers
* update function naming style
* update formulas and note for ccm.hpp
* add const value
Co-authored-by: Chenqi Shan <shanchenqi@huawei.com>
Co-authored-by: Jinheng Zhang <zhangjinheng1@huawei.com>
Co-authored-by: Zhen Ju <juzhen@huawei.com>
Co-authored-by: Longbu Wang <wanglongbu@huawei.com.com>
Co-authored-by: shanchenqi <582533558@qq.com>
The UTF-8 string u8"…" causes following errors when building under VS2019:
C2001 newline in constant
C2143 syntax error: missing ';' before '}'
C2146 syntax error: missing ';' before identifier 'str'
Added Python wrapping and documentation for alphamat module
* updated documentation with more results for alphamat module
* Updated the image links in the tutorial
* Included cite
* Edited Documentation
Edited the Viz "getWindowByName" documentation so it reflects the actual behaviour of getWindowByName. More specifically, that "Viz - " is not prefixed automatically to the window name given by the user if they haven't prefixed "Viz - " already.
Fixes the following compiler error:
rgbd/test/test_dynafu.cpp:44:17: error: 'Params' is not a member of 'cv::dynafu'
44 | Ptr<dynafu::Params> params;
| ^~~~~~
Fixes two errors when building with the options WITH_CUDA=ON and BUILD_CUDA_STUBS=ON on a machine without CUDA.
In the cudaarithm module, make sure cuda_runtime.h only gets included when CUDA is installed.
In the stitching module, don't assume that cuda is present just because cudaarithm and cudawarping are present (as is the case when building with the above options).
original commit: 22ee5c0c4d
New HashTSDF implementation
* create new variables
* rewrite reset()
* first valid version of new HasHTSDF
* some warning fixes
* create lambda raycast
* reduce time raycast
* minor fix
* minor fix volDims
* changed _atVolumeUnit, reduce memory consumption
* delete older inmplemetation of atVolumeUnit
* changes _at
* AAA, I want to cry!
* it works!
* it works twice o_o
* minor fix
* new adding to volumes
* delete volDims at strust VolumeUnit
* new names of vars
* rename one var
* minor fix
* new resize volumes
* rename volUnitsMatrix
* minor fix in at function
* add tsdf_functions.hpp
* minor fix
* remove two args at _at function signature
* solved the link problem with tsdf_functions
* build fix
* build fix 1
* build fix 2
* build fix 3
* build fix 4
* replace integrateVolumeUnit to tsdf_functions and fix 2 warnings
* docs fix
* remove extra args at atVolumeUnit signature
* change frame params checking
* move volStrides to CPU class
* inline convertion functions in tsdf_functions
* minor fix
* add SIMD version of integrateVolumeUnit
* fix something :)
* docs fix
* warning fix
* add degub asserts
* replace vars initialization with reset()
* remove volDims var
* new resize buffer
* minor vars name fix
* docs fix
* warning fix
* minor fix
* minor fix 1
* remove dbg asserts
Co-authored-by: arsaratovtsev <artem.saratovtsev@intel.com>
[GSoC] Add Submaps and PoseGraph optimization for Large Scale Depth Fusion
* - Add HashTSDF class
- Implement Integrate function (untested)
* Integration seems to be working, raycasting does not
* Update integration code
* Integration and Raycasting fixes, (both work now)
* - Format code
- Clean up comments and few fixes
* Add Kinect Fusion backup file
* - Add interpolation for vertices and normals (slow and unreliable!)
- Format code
- Delete kinfu_back.cpp
* Bug fix for integration and noisy odometry
* - Create volume abstract class
- Address Review comments
* - Add getPoints and getNormals function
- Fix formatting according to comments
- Move volume abstract class to include/opencv2/rgbd/
- Write factory method for creating TSDFVolumes
- Small bug fixes
- Minor fixes according to comments
* - Add tests for hashTSDF
- Fix raycasting bug causing to loop forever
- Suppress warnings by explicit conversion
- Disable hashTsdf test until we figure out memory leak
- style changes
- Add missing license in a few files, correct precomp.hpp usage
* - Use CRTP based static polymorphism to choose between CPU and GPU for
HashTSDF volume
* Create submap and submapMgr
Implement overlap_ratio check to create new submaps
* Early draft of posegraph and submaps (Doesn't even compile)
* Minor cleanup (no compilation)
* Track all submaps (no posegraph update yet)
* Return inliers from ICP for weighting the constraints
(Huber threshold based inliers pending)
* Add updating constraints between submaps and retain same current map
* Fix constraints creation between submaps and allow for switching between
submaps
* - Fix bug in allocate volumeUnits
- Simplify calculation of visibleBlocks
* Remove inlier calculation in fast_icp (not required)
* Modify readFile to allow reading other datasets easily
* - Implement posegraph update, Gauss newton is unstable
- Minor changes to Gauss newton and Sparse matrix. Residual still
increases slightly over iterations
* Implement simplified levenberg marquardt
* Bug fixes for Levenberg Marquardt and minor changes
* minor changes
* Fixes, but Optimizer is still not well behaved
* Working Ceres optimizer
* - Reorganize IO code for samples in a separate file
- Minor fix for Ceres preprocessor definition
- Remove unused generatorJacobian, will be used for opencv implementation
of levenberg marquardt
- Doxygen docs fix
- Minor preprocessor fixes
* - Reorganize IO code for samples in a separate file
- Minor fix for Ceres preprocessor definition
- Remove unused generatorJacobian, will be used for opencv implementation
of levenberg marquardt
- Doxygen docs fix
- Minor preprocessor fixes
- Move inline functions to header, and make function params const
references
* - Add Python bindings for volume struct
- Remove makeVolume(const VolumeParams&) Python binding due to compilation
issues
- Minor changes according to comments
* - Remove dynafu::Params() since it is identical to kinfu::Params()
- Use common functions for dynafu_demo
- Suppress "unreachable code" in volume.cpp
* Minor API changes
* Minor
* Remove CRTP for HashTSDF class
* Bug fixes for HashTSDF integration
TSDF preCalculation pixNorm
* create preCalculation function
* warning fix
* minor fix
* gpu preCalculation fix
* fix resolution bag in CPU
* gpu minor fix
* add pixNorms to intrinsics code
* minor fix
* minor fixes
Co-authored-by: arsaratovtsev <artem.saratovtsev@intel.com>