Main Content

imageDisplay

NVIDIA display object

Add-On Required: This feature requires the MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms add-on.

Description

This object is used to display images on the NVIDIA DRIVE® or Jetson™ target desktop. To create this object, use the imageDisplay function. To interact with the web camera, use this object with the functions listed in Object Functions.

Creation

Description

example

imDispObj = imageDisplay(hwObj) creates a imageDisplay object imDispObj that can be used to display images on the NVIDIA DRIVE or Jetson target desktop. Use the image object function to display the images. This functionality requires the Simple DirectMedia Layer (SDL) library to be installed on the target platform. For more information, see Install and Setup Prerequisites for NVIDIA Boards.

When the image function is used during simulation within the MATLAB® environment, it displays the images on your host computer by using the imshow (Image Processing Toolbox) function.

Input Arguments

expand all

Connection to a specific NVIDIA hardware board, specified as a jetson or drive object.

Output Arguments

expand all

System object to display images on the target desktop. To display the images, use the image function of the imDispObj object.

Properties

expand all

This property is read-only.

Display name, returned as a character vector.

Example: 'NVIDIA Display'

Object Functions

imageDisplay image

Examples

collapse all

This example shows how to use imageDisplay to display images on the NVIDIA Jetson TX2 target. This example requires a USB camera connected to the NVIDIA target.

Create a live hardware connection from the MATLAB software to the NVIDIA hardware by using the jetson function. To create a live hardware connection object, provide the host name or IP address, user name, and password of the target board. For example:

hwobj = jetson('jetson-board-name','ubuntu','ubuntu');

Create a MATLAB function liveCapture.m that connects to the webcam on a Jetson TX2 board and displays the image on the board. This function acts as the entry-point for code generation.

function liveCapture() %#codegen

% To enable code generation for hardware interfaces
hwobj = jetson;
w = webcam(hwobj,1,[1280 800]);
d = imageDisplay(hwobj);

for k = 1:2000
    % Capture the image from the webcam on hardware.
    img = snapshot(w);
    % Display image.
    image(d,img);
end

Create a GPU code configuration object for generating an executable. Use the coder.hardware function to create a configuration object for the Jetson platform and assign it to the Hardware property of the code configuration object cfg.

cfg = coder.gpuConfig('exe');
cfg.GenerateReport = true;
cfg.Hardware = coder.hardware('NVIDIA Jetson');
cfg.GenerateExampleMain = 'GenerateCodeAndCompile';

The main.cu file is generated as part of code generation process. For this example, you can use this file without modification.

To generate CUDA code, use the codegen command and pass the GPU code configuration object along with the liveCapture entry-point function. After the code generation takes place on the host, the generated files are copied over and built on the target.

codegen -config cfg liveCapture

Use the runApplication function to launch the executable on the TX2 board.

runApplication(hwobj,'liveCapture');

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.

Version History

Introduced in R2018b