open3d_conversions package from perception_open3d repoopen3d_conversions |
|
Package Summary
Tags | No category tags. |
Version | 0.2.1 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-perception/perception_open3d.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2022-06-08 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Pranay Mathur
- Nikhil Khedekar
- Steve Macenski
Authors
- Pranay Mathur
- Nikhil Khedekar
open3d_conversions
This package provides functions that can convert pointclouds from ROS to Open3D and vice-versa.
Dependencies
- Eigen3
- Open3D
System Requirements
- Ubuntu 20.04+: GCC 5+
Installation
Open3D
- Instructions to setup Open3D can be found here.
open3d_conversions
- In case you are building this package from source, time taken for the conversion functions will be much larger if it is not built in
Release
mode.
Usage
There are two functions provided in this library:
void open3d_conversions::open3dToRos(const open3d::geometry::PointCloud & pointcloud, sensor_msgs::msg::PointCloud2 & ros_pc2, std::string frame_id = "open3d_pointcloud");
void open3d_conversions::rosToOpen3d(const sensor_msgs::msg::PointCloud2::SharedPtr & ros_pc2, open3d::geometry::PointCloud & o3d_pc, bool skip_colors=false);
- As Open3D pointclouds only contain
points
,colors
andnormals
, the interface currently supports XYZ, XYZRGB pointclouds. XYZI pointclouds are handled by placing theintensity
value in thecolors_
. - On creating a ROS pointcloud from an Open3D pointcloud, the user is expected to set the timestamp in the header and pass the
frame_id
to the conversion function.
Documentation
Documentation can be generated using Doxygen and the configuration file by executing doxygen Doxyfile
in the package.
Contact
Feel free to contact us for any questions:
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged open3d_conversions at Robotics Stack Exchange
open3d_conversions package from perception_open3d repoopen3d_conversions |
|
Package Summary
Tags | No category tags. |
Version | 0.1.2 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-perception/perception_open3d.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2024-07-09 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Pranay Mathur
- Nikhil Khedekar
- Steve Macenski
Authors
- Pranay Mathur
- Nikhil Khedekar
open3d_conversions
This package provides functions that can convert pointclouds and images from ROS to Open3D and vice-versa.
Dependencies
- Eigen3
- Open3D
System Requirements
- Ubuntu 20.04+: GCC 5+
Installation
Open3D
- Instructions to setup Open3D can be found here.
open3d_conversions
- In case you are building this package from source, time taken for the conversion functions will be much larger if it is not built in
Release
mode.
Pointcloud Conversion
There are two pointcloud conversion functions provided in this library:
void open3d_conversions::open3dToRos(
const open3d::geometry::PointCloud & pointcloud,
sensor_msgs::msg::PointCloud2 & ros_pc2,
std::string frame_id = "open3d_pointcloud");
void open3d_conversions::rosToOpen3d(
const sensor_msgs::msg::PointCloud2::SharedPtr & ros_pc2,
open3d::geometry::PointCloud & o3d_pc,
bool skip_colors=false);
- As Open3D pointclouds only contain
points
,colors
andnormals
, the interface currently supports XYZ, XYZRGB pointclouds. XYZI pointclouds are handled by placing theintensity
value in thecolors_
. - On creating a ROS pointcloud from an Open3D pointcloud, the user is expected to set the timestamp in the header and pass the
frame_id
to the conversion function.
Image Conversion
There are four image conversion functions provided in this library:
void open3dToRos(
const open3d::geometry::Image & o3d_img,
sensor_msgs::msg::Image & ros_img,
std::string encoding,
std::string frame_id = "open3d_image");
void open3dToRos(
const open3d::camera::PinholeCameraIntrinsic & intrinsic,
sensor_msgs::msg::CameraInfo & camera_info,
std::string frame_id = "open3d_image");
void rosToOpen3d(
const sensor_msgs::msg::Image & ros_img,
open3d::geometry::Image & o3d_img);
void rosToOpen3d(
const sensor_msgs::msg::CameraInfo & camera_info,
open3d::camera::PinholeCameraIntrinsic & intrinsic);
Additionally, two explicit move-only versions of the image conversions are provided for efficiency:
void moveOpen3dToRos(
open3d::geometry::Image && o3d_img,
sensor_msgs::msg::Image & ros_img,
std::string encoding,
std::string frame_id = "open3d_image");
void moveRosToOpen3d(
sensor_msgs::msg::Image && ros_img,
open3d::geometry::Image & o3d_img);
- As Open3D only stores camera info as a pinhole camera model, distorsion information cannot be inferred from an Open3D -> ROS conversion. Such a conversions sets the distorsion model to “plumb_bob” with all five D parameters equal to zero.
Documentation
Documentation can be generated using Doxygen and the configuration file by executing doxygen Doxyfile
in the package.
Contact
Feel free to contact us for any questions:
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
ament_lint_common | |
ament_cmake_gtest | |
ament_lint_auto | |
rclcpp | |
rcpputils | |
sensor_msgs |
System Dependencies
Name |
---|
libopen3d-dev |
eigen |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged open3d_conversions at Robotics Stack Exchange
open3d_conversions package from perception_open3d repoopen3d_conversions |
|
Package Summary
Tags | No category tags. |
Version | 0.1.2 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-perception/perception_open3d.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2024-07-09 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Pranay Mathur
- Nikhil Khedekar
- Steve Macenski
Authors
- Pranay Mathur
- Nikhil Khedekar
open3d_conversions
This package provides functions that can convert pointclouds and images from ROS to Open3D and vice-versa.
Dependencies
- Eigen3
- Open3D
System Requirements
- Ubuntu 20.04+: GCC 5+
Installation
Open3D
- Instructions to setup Open3D can be found here.
open3d_conversions
- In case you are building this package from source, time taken for the conversion functions will be much larger if it is not built in
Release
mode.
Pointcloud Conversion
There are two pointcloud conversion functions provided in this library:
void open3d_conversions::open3dToRos(
const open3d::geometry::PointCloud & pointcloud,
sensor_msgs::msg::PointCloud2 & ros_pc2,
std::string frame_id = "open3d_pointcloud");
void open3d_conversions::rosToOpen3d(
const sensor_msgs::msg::PointCloud2::SharedPtr & ros_pc2,
open3d::geometry::PointCloud & o3d_pc,
bool skip_colors=false);
- As Open3D pointclouds only contain
points
,colors
andnormals
, the interface currently supports XYZ, XYZRGB pointclouds. XYZI pointclouds are handled by placing theintensity
value in thecolors_
. - On creating a ROS pointcloud from an Open3D pointcloud, the user is expected to set the timestamp in the header and pass the
frame_id
to the conversion function.
Image Conversion
There are four image conversion functions provided in this library:
void open3dToRos(
const open3d::geometry::Image & o3d_img,
sensor_msgs::msg::Image & ros_img,
std::string encoding,
std::string frame_id = "open3d_image");
void open3dToRos(
const open3d::camera::PinholeCameraIntrinsic & intrinsic,
sensor_msgs::msg::CameraInfo & camera_info,
std::string frame_id = "open3d_image");
void rosToOpen3d(
const sensor_msgs::msg::Image & ros_img,
open3d::geometry::Image & o3d_img);
void rosToOpen3d(
const sensor_msgs::msg::CameraInfo & camera_info,
open3d::camera::PinholeCameraIntrinsic & intrinsic);
Additionally, two explicit move-only versions of the image conversions are provided for efficiency:
void moveOpen3dToRos(
open3d::geometry::Image && o3d_img,
sensor_msgs::msg::Image & ros_img,
std::string encoding,
std::string frame_id = "open3d_image");
void moveRosToOpen3d(
sensor_msgs::msg::Image && ros_img,
open3d::geometry::Image & o3d_img);
- As Open3D only stores camera info as a pinhole camera model, distorsion information cannot be inferred from an Open3D -> ROS conversion. Such a conversions sets the distorsion model to “plumb_bob” with all five D parameters equal to zero.
Documentation
Documentation can be generated using Doxygen and the configuration file by executing doxygen Doxyfile
in the package.
Contact
Feel free to contact us for any questions:
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
ament_lint_common | |
ament_cmake_gtest | |
ament_lint_auto | |
rclcpp | |
rcpputils | |
sensor_msgs |
System Dependencies
Name |
---|
libopen3d-dev |
eigen |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged open3d_conversions at Robotics Stack Exchange
open3d_conversions package from perception_open3d repoopen3d_conversions |
|
Package Summary
Tags | No category tags. |
Version | 0.1.2 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-perception/perception_open3d.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2024-07-09 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Pranay Mathur
- Nikhil Khedekar
- Steve Macenski
Authors
- Pranay Mathur
- Nikhil Khedekar
open3d_conversions
This package provides functions that can convert pointclouds and images from ROS to Open3D and vice-versa.
Dependencies
- Eigen3
- Open3D
System Requirements
- Ubuntu 20.04+: GCC 5+
Installation
Open3D
- Instructions to setup Open3D can be found here.
open3d_conversions
- In case you are building this package from source, time taken for the conversion functions will be much larger if it is not built in
Release
mode.
Pointcloud Conversion
There are two pointcloud conversion functions provided in this library:
void open3d_conversions::open3dToRos(
const open3d::geometry::PointCloud & pointcloud,
sensor_msgs::msg::PointCloud2 & ros_pc2,
std::string frame_id = "open3d_pointcloud");
void open3d_conversions::rosToOpen3d(
const sensor_msgs::msg::PointCloud2::SharedPtr & ros_pc2,
open3d::geometry::PointCloud & o3d_pc,
bool skip_colors=false);
- As Open3D pointclouds only contain
points
,colors
andnormals
, the interface currently supports XYZ, XYZRGB pointclouds. XYZI pointclouds are handled by placing theintensity
value in thecolors_
. - On creating a ROS pointcloud from an Open3D pointcloud, the user is expected to set the timestamp in the header and pass the
frame_id
to the conversion function.
Image Conversion
There are four image conversion functions provided in this library:
void open3dToRos(
const open3d::geometry::Image & o3d_img,
sensor_msgs::msg::Image & ros_img,
std::string encoding,
std::string frame_id = "open3d_image");
void open3dToRos(
const open3d::camera::PinholeCameraIntrinsic & intrinsic,
sensor_msgs::msg::CameraInfo & camera_info,
std::string frame_id = "open3d_image");
void rosToOpen3d(
const sensor_msgs::msg::Image & ros_img,
open3d::geometry::Image & o3d_img);
void rosToOpen3d(
const sensor_msgs::msg::CameraInfo & camera_info,
open3d::camera::PinholeCameraIntrinsic & intrinsic);
Additionally, two explicit move-only versions of the image conversions are provided for efficiency:
void moveOpen3dToRos(
open3d::geometry::Image && o3d_img,
sensor_msgs::msg::Image & ros_img,
std::string encoding,
std::string frame_id = "open3d_image");
void moveRosToOpen3d(
sensor_msgs::msg::Image && ros_img,
open3d::geometry::Image & o3d_img);
- As Open3D only stores camera info as a pinhole camera model, distorsion information cannot be inferred from an Open3D -> ROS conversion. Such a conversions sets the distorsion model to “plumb_bob” with all five D parameters equal to zero.
Documentation
Documentation can be generated using Doxygen and the configuration file by executing doxygen Doxyfile
in the package.
Contact
Feel free to contact us for any questions:
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
ament_lint_common | |
ament_cmake_gtest | |
ament_lint_auto | |
rclcpp | |
rcpputils | |
sensor_msgs |
System Dependencies
Name |
---|
libopen3d-dev |
eigen |