1 # Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
3 @page roadmark_classification_usecase Road Mark Classification Workflow
5 The following code snippet shows the general structure of a program that uses roadmarknet classifier to classify detected road markings on a single camera. Note that error handling is left out for clarity.
7 Initialize `RoadMarkNet` with default parameters:
9 dwRoadMarkNetHandle_t roadMarkNet;
10 dwRoadMarkNetParams roadMarkNetParams{};
11 dwRoadMarkNet_initDefaultParams(&roadMarkNetParams, context);
12 dwRoadMarkNet_initialize(&roadMarkNet, &roadMarkNetParams, context);
15 Initialize `RoadMarkClasssifier` module from initialized `RoadMarkNet` handle, with parameters `classifierParams`:
17 dwRoadMarkClassifierParams classifierParams = {};
18 dwRoadMarkClassifier_initDefaultParams(&classifierParams);
19 dwRoadMarkClassifierHandle_t roadMarkClassifier;
20 dwRoadMarkClassifier_initializeFromRoadMarkNet(
27 Bind inputs and output to the `RoadMarkClasssifier` module:
29 dwRoadMarkClassifier_bindInputImageArray(&imageArray, imageCount, roadMarkClassifier);
30 dwRoadMarkClassifier_bindInputRoadmarkDetection(&roadmarkDetectionOutput, roadMarkClassifier);
31 dwRoadMarkClassifier_bindOutput(&roadmarkClassifierOutput, roadMarkClassifier);
34 Classify detected road markings from the provided inputs:
36 dwRoadMarkClassifier_process(DW_ROADMARK_CLASSIFIER_STAGE_GPU_ASYNC_PREPROCESSING, roadMarkClassifier);
37 dwRoadMarkClassifier_process(DW_ROADMARK_CLASSIFIER_STAGE_GPU_ASYNC_INFERENCE, roadMarkClassifier);
38 dwRoadMarkClassifier_process(DW_ROADMARK_CLASSIFIER_STAGE_GPU_ASYNC_INTERPRETATION, roadMarkClassifier);
39 dwRoadMarkClassifier_process(DW_ROADMARK_CLASSIFIER_STAGE_CPU_SYNC_POSTPROCESSING, roadMarkClassifier);
42 When finished, release the module handles:
44 dwRoadMarkClassifier_release(roadMarkClassifier);
45 dwRoadMarkNet_release(roadMarkNet);
48 For more detailed workflow, please refer to the road mark classification sample: @ref dwx_roadmark_classification_sample