# Image segmentation and display with Neural Processing SDK Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/single-camera-stream-with-image-segmentation-and-display-with-deeplabv3-quantized.html](https://docs.qualcomm.com/doc/80-70022-50/topic/single-camera-stream-with-image-segmentation-and-display-with-deeplabv3-quantized.html) The use case implements the DeepLab v3 model with the Qualcomm Neural Processing SDK runtime to identify the semantic segmentations in a scene from a camera stream. The use case is to compose the semantics and the video stream together using qtivcomposer, and then display the results. ## Use qtivcomposer to mix original frame with segmentation mask Run the use case on the target device: gst-launch-1.0 -e --gst-debug=2 \ qtiqmmfsrc name=camsrc ! video/x-raw,format=NV12_Q08C,width=1920,height=1080,framerate=30/1 ! queue ! tee name=split \ split. ! queue ! qtivcomposer name=mixer sink_1::dimensions="<1920,1080>" sink_1::alpha=0.5 ! queue ! waylandsink fullscreen=true \ split. ! queue ! qtimlvconverter ! queue ! qtimlsnpe delegate=dsp model=/etc/models/deeplabv3_plus_mobilenet.dlc ! queue ! \ qtimlpostprocess module=deeplab-argmax labels=/etc/labels/deeplabv3_resnet50.json ! video/x-raw,width=640,height=360 ! queue ! mixer.Copy to clipboard To stop the use case, use CTRL + C. The following figure shows the flow of the use case execution: 1. Identify scenes from a video stream coming through a camera source. 2. Compose semantic segmentation and video stream using qtivcomposer. 3. Display the results. Figure : Pipeline for segmentation with qtivcomposer Qualcomm Open source camsrc tee qtimlvconverter qtimltflite qtimlpostprocess qtivcomposer waylandsink The following table provides the sequential processing stages of the pipeline execution: | Process | Description | | --- | --- | | [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70022-50/topic/qtiqmmfsrc.html) |

  1. Collects the video stream (source) and creates two copies of
    the source:


| | **Preprocessing** | **Preprocessing** | | [qtimlvconverter](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimlvconverter.html) |

  1. Receives the video stream on its sink pad.


  2. Performs preprocessing:


  3. Converts the video stream to a tensor stream on its source
    pad.

    The segmentation model uses this tensor stream
    for inferencing.




| | **Inferencing** | **Inferencing** | | [qtimlsnpe](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimlsnpe.html) |

  1. Loads the segmentation model.


  2. Modifies the graph for the chosen delegate.


  3. Receives the tensor stream on its sinkpad.


  4. Runs the inference and produces a tensor stream with the
    segmentation results on its source pad.


| | **Postprocessing** | **Postprocessing** | | qtimlpostprocess |

  1. Receives the inference tensors on its sinkpad.


  2. Converts the inference tensors into video formats that the
    multimedia plugins can process later.


  3. Produces the semantic segmentations for the frame.


  4. Loads the corresponding modules for the segmentation
    models.

    In this use case, qtimlpostprocess does the
    following:


    1. Loads the deeplab-argmax submodule.


    2. Produces video frames with segmentation masks.


    3. Sends them to the sinkpad of qtivcomposer.






| | [qtivcomposer](https://docs.qualcomm.com/doc/80-70022-50/topic/qtivcomposer.html) |

  1. Receives the original video stream with segmentation mask on
    its sinkpads.


  2. On its sourcepad, produces GST buffers with contents
    composed of video streams from its sinkpads.


| | **Output** | **Output** | | [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50/topic/waylandsink.html) |

  1. Receives the video stream on its sinkpad.


  2. Submits the video stream to Weston.


  3. Weston displays the following on the local display device:


| **Parent Topic:** [Qualcomm Neural Processing SDK use cases](https://docs.qualcomm.com/doc/80-70022-50/topic/qualcomm-neural-processing-sdk-use-cases.html) Last Published: Feb 20, 2026 [Previous Topic Object detection and encode with Neural Processing SDK](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/single-camera-stream-with-object-detection-and-encode-with-mobilenet-v2-ssd.md) [Next Topic Image segmentation and encode with Neural Processing SDK](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/single-camera-stream-with-image-segmentation-and-encode-with-deeplabv3-quantized.md)