Point to Pixel transformation
- Dominant language
- C++
- Stars
- 14k
- Forks
- 2.6k
- Avg merge
- 5d 18h
- Merged PRs (30d)
- 6
Description
**Is your feature request related to a problem? Please describe.**
This is a feature request. I was assuming it is implemented, but failed to find in in the documentation so far.
Given an RGBD with color and position elements we can create a point_cloud using open3d.geometry.PointCloud.create_from_rgbd_image(). This creates (x,y,z),(R,G,B) data. However there is no interface to map between pixel(col, row) to (x,y,z) point. Having the inverse transformation from geometry to camera's image pixels could be valuable for multiple tasks (3D->2D registration, position based Ground truth annotation- Background subtraction etc).
**Describe the solution you'd like**:
A function to receive geometry and source camera position (front, look-at, up, zoom) returning pixel coordinates-
open3d.geometry.PointCloud.point2pixel(camera_pos)
**Describe alternatives you've considered**
One way to achieve it is to construct an enhanced data structure RGB-D-Point including color (RGB), depth (d), position (x,y,z), every time data is rendered.
The above can be calculated using the geometrical/affine transformation for a given camera position. Those transformations are available, and used during forward generation of Point Cloud from RGBD and visualization.
Thanks!
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.