Difference between revisions of "CUDA ISP for NVIDIA Jetson/Examples/ API usage"
Line 11: | Line 11: | ||
Here we illustrate a simple example that involves all the basic algorithms. This example takes a raw bayer10 image, converts it to a bayer8 image, then converts it to a rgb image, then applies automatic white balancing on the image, then converts it to I420 format. A simple process of this type might be used to encode camera information into a video file or a network stream. | Here we illustrate a simple example that involves all the basic algorithms. This example takes a raw bayer10 image, converts it to a bayer8 image, then converts it to a rgb image, then applies automatic white balancing on the image, then converts it to I420 format. A simple process of this type might be used to encode camera information into a video file or a network stream. | ||
+ | We first create a backend object. The backend object provides factories to create algorithms and buffers. We specify CUDA as the desired backend type. | ||
auto backend = rr::IBackend::Build(rr::kCUDA); | auto backend = rr::IBackend::Build(rr::kCUDA); | ||
− | + | The creation of any given algorithm requires a single function call: | |
auto shift = backend->CreateAlgorithm(rr::kShift); | auto shift = backend->CreateAlgorithm(rr::kShift); | ||
auto debayer = backend->CreateAlgorithm(rr::kDebayer); | auto debayer = backend->CreateAlgorithm(rr::kDebayer); | ||
auto white_balancer = backend->CreateAlgorithm(rr::kWhiteBalancer); | auto white_balancer = backend->CreateAlgorithm(rr::kWhiteBalancer); | ||
− | + | auto color_space_converter = backend->CreateAlgorithm(rr::kColorSpaceConverter); | |
== AWB == | == AWB == | ||
Revision as of 11:56, 6 March 2023
CUDA ISP for NVIDIA Jetson | |
---|---|
![]() | |
CUDA ISP for NVIDIA Jetson Basics | |
|
|
Getting Started | |
|
|
User Manual | |
|
|
GStreamer | |
|
|
Examples | |
|
|
Performance | |
|
|
Contact Us | |
|
General
CUDA ISP provides several algorithms to process raw image data from a camera sensor in a variety of ways.
Here we illustrate a simple example that involves all the basic algorithms. This example takes a raw bayer10 image, converts it to a bayer8 image, then converts it to a rgb image, then applies automatic white balancing on the image, then converts it to I420 format. A simple process of this type might be used to encode camera information into a video file or a network stream.
We first create a backend object. The backend object provides factories to create algorithms and buffers. We specify CUDA as the desired backend type.
auto backend = rr::IBackend::Build(rr::kCUDA);
The creation of any given algorithm requires a single function call:
auto shift = backend->CreateAlgorithm(rr::kShift); auto debayer = backend->CreateAlgorithm(rr::kDebayer); auto white_balancer = backend->CreateAlgorithm(rr::kWhiteBalancer); auto color_space_converter = backend->CreateAlgorithm(rr::kColorSpaceConverter);
AWB
Debayer
Shift