VPI pipeline with CSI camera and output render on screen

Hi,

We can use jetson-utils with VPI without issue.
Since Box filer only support gray scale image, please remember to convert the image back to RGB for rendering.

Below is an example for your reference:

import numpy as np
import jetson.utils
import vpi


display = jetson.utils.glDisplay()

camera = jetson.utils.gstCamera(1920, 1280, '0')
camera.Open()

while display.IsOpen():
    frame, width, height = camera.CaptureRGBA(zeroCopy=1)
    input = vpi.asimage(np.uint8(jetson.utils.cudaToNumpy(frame)))
    with vpi.Backend.CUDA:
        output = input.convert(vpi.Format.U8) 
        output = output.box_filter(11, border=vpi.Border.ZERO).convert(vpi.Format.RGB8)
        vpi.clear_cache()

    display.RenderOnce(jetson.utils.cudaFromNumpy(output.cpu()), width, height)
    display.SetTitle("{:s} | {:d}x{:d} | {:.1f} FPS".format("Camera Viewer", width, height, display.GetFPS()))

camera.Close()

Thanks.