Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable multiple color image encodings #32

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

nakai-omer
Copy link

Currently the only supported encoding is RGB8. We have extracted the image conversion utilities from jetson-utils (which is only supported on jetson so we couldn't use directly), and used it for GPU optimized conversions. Now many more image formats are supported, and the added lib can help in other areas as well.
This is also needed specifically for usage with the ZED camera as it outputs BGRA8 encoding.

nakai-omer and others added 5 commits August 22, 2022 03:43
Fix build issue with glog missing:
```
CMake Error at CMakeLists.txt:89 (add_executable):
  Target "3dmatch_node" links to target "glog::glog" but the target was not
  found.  Perhaps a find_package() call is missing for an IMPORTED target, or
  an ALIAS target is missing?
```
@omerts
Copy link

omerts commented Nov 29, 2022

Is anybody here looking?

@hemalshahNV
Copy link
Contributor

@nakai-omer , this is great work! Any reason you couldn't use the Isaac ROS Image Pipeline/isaac_ros_image_proc color conversion nodes, though?

@alexmillane
Copy link
Collaborator

Thank you for your interest in nvblox. I hope that you're finding it useful.

Yes just to echo @hemalshahNV, we'd like to be careful about which dependencies we take on. Dependencies on personal projects are not ideal.

This looks like a useful addition however so if it could be reformulated to depend on isaac_ros_image_proc that would be acceptable, I feel.

@nakai-omer
Copy link
Author

@hemalshahNV @alexmillane The external lib I am using is just an extraction of the image convert from jetson-utils, so it can run outside of a Jetson. I can change it to using isaac_ros_image_proc, I just think it might be wasteful to have to serialize and send the image, which can be large, on the ROS pipeline. Nevertheless, I get your point on depending on external projects. What if we add the image convert util straight into this project?

@hemalshahNV
Copy link
Contributor

@nakai-omer, appreciate the attention on performance! You're right, but luckily, with isaac_ros_image_proc which uses NITROS, we avoid copying back images from GPU memory, serializing them, and then sending them to intraprocess subscribers.

@nakai-omer
Copy link
Author

@hemalshahNV Got it, ok i will be working on changing this PR to use isaac_ros_image_proc, as a composable node, so it can stay as intraprocess.

@AndreV84
Copy link

@hemalshahNV does the nvidia nvblox release by now have the zed camera support addressed?
with the color thing automatically resolved?
Or the only way as for now to get it working is to do the [PR] extra sub-module [ by nakai-omer] installation?
Given the objective is just get the zed camera outputs with nvblox ros humble 5.0.2 container?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants