CUDA ISP for NVIDIA Jetson: GStreamer usage

From RidgeRun Developer Connection
< CUDA ISP for NVIDIA Jetson‎ | Examples
Revision as of 16:57, 15 March 2023 by Nmorua (talk | contribs) (cudadebayer)
Jump to: navigation, search


  Index  






General

CUDA ISP provides three different GStreamer elements to apply the different algorithms to raw image data coming from a camera sensor. The 3 elements are:

  • cudashift
  • cudadebayer
  • awb

In the following sections you can see examples on how to use this elements.

cudashift

  • Input:
    • Bayer 10/12/14/16
  • Output
    • Bayer 8
  • Property
    • shift: number of bits to shift right per pixel.

The following pipeline receives a bayer 10 image with 4k resolution from a camera sensor, applies a shifting with a value of 5 and outputs a bayer 8 image.

gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, format=rggb' ! cudashift shift=5 ! fakesink




Error creating thumbnail: Unable to save thumbnail to destination




cudadebayer

  • Input
    • Bayer 10/12/14/16
  • Output
    • RGB or I420
  • Property
    • shift: number of bits to shift right per pixel.

This element has two output options: RGB or I420. You can choose which output option you want by modifying the format name in the source caps. The following pipeline receives a bayer 10 image with 4K resolution and outputs an RGB image.

gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! fakesink

This next pipeline receives a bayer 10 image with 4K resolution and outputs an I420 image. You can see that source caps were added to choose which output format you desire, which in this case would be I420.

gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! 'video/x-raw, format=$' ! fakesink
gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! queue ! videoconvert ! 'video/x-raw' ! videoscale ! 'video/x-raw, width=640, height=480' ! ximagesink display=localhost:10.0 sync=false
GST_DEBUG=WARNING,*debayer*:LOG gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, format=rggb' ! cudashift shift=5 ! 'video/x-bayer, bpp=8, format=rggb' ! cudadebayer ! 'video/x-raw, format=RGBA' ! fakesink

cudaawb

gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudashift shift=0 ! cudadebayer ! cudaawb ! queue ! videoconvert ! 'video/x-raw' ! videoscale ! 'video/x-raw, width=640, height=480' ! ximagesink display=localhost:10.0 sync=false









  Index