opencv/modules
Zhangjie Chen 0e47b05106
Merge pull request #23985 from starga2er777:pcc
[GSoC] Update octree methods and create frames for PCC #23985

## PR for GSoC Point Cloud Compression
[Issue for GSoC 2023](https://github.com/opencv/opencv/issues/23624)

* We are **updating the Octree method create() by using OctreeKey**: Through voxelization, directly calculate the leaf nodes that the point cloud belongs to, and omit the judgment whether the point cloud is in the range when inserted. The index of the child node is calculated by bit operation.
* We are also **introducing a new header file pcc.h (Point Cloud Compression) with API framework**.
* We added tests for restoring point clouds from an octree.
* Currently, the features related to octree creation and point cloud compression are part of the internal API, which means they are not directly accessible to users. However, our plan for the future is to **include only the 'PointCloudCompression' class in the 'opencv2/3d.hpp' header file**. This will provide an interface for utilizing the point cloud compression functionality.

The previous PR of this was closed due to repo name conflicts, therefore we resubmitted in this PR.

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
2024-02-29 14:02:44 +03:00
..
3d Merge pull request #23985 from starga2er777:pcc 2024-02-29 14:02:44 +03:00
calib Merge branch 4.x 2024-02-26 18:05:36 +03:00
core Merge branch 4.x 2024-02-26 18:05:36 +03:00
dnn Merge pull request #25117 from Abdurrahheem:ash/scale-layer-1D-test 2024-02-29 11:32:13 +03:00
features2d Merge branch 4.x 2024-01-19 17:32:22 +03:00
flann Merge pull request #25024 from vrabaud:neon 2024-02-20 11:29:23 +03:00
gapi Merge branch 4.x 2024-02-26 18:05:36 +03:00
highgui Merge branch 4.x 2024-01-23 17:06:52 +03:00
imgcodecs Merge branch 4.x 2024-02-26 18:05:36 +03:00
imgproc Merge branch 4.x 2024-02-28 18:49:05 +03:00
java Merge branch 4.x 2024-02-26 18:05:36 +03:00
js Merge pull request #25084 from EDVTAZ:emscripten-3.1.54-compat 2024-02-26 10:30:56 +03:00
objc Merge branch 4.x 2024-01-19 17:32:22 +03:00
objdetect Merge branch 4.x 2024-02-28 18:49:05 +03:00
photo Merge pull request #23109 from seanm:misc-warnings 2023-10-06 13:33:21 +03:00
python Merge pull request #25017 from kaingwade:ml_to_contrib 2024-02-27 15:54:08 +03:00
stereo Merge branch 4.x 2024-02-26 18:05:36 +03:00
stitching Merge pull request #24989 from zteffi:enable-warpPointBackward-in-python 2024-02-16 16:27:29 +03:00
ts ts: Extended getTypeName() to support new types 2024-02-12 17:56:43 +09:00
video Merge branch 4.x 2024-01-23 17:06:52 +03:00
videoio Merge branch 4.x 2024-02-26 18:05:36 +03:00
world cmake: use /INCREMENTAL:NO with MSVS 2015 2023-12-07 19:46:27 +00:00
CMakeLists.txt Merge pull request #25017 from kaingwade:ml_to_contrib 2024-02-27 15:54:08 +03:00