# Camera streaming using OpenCV

Source: [https://docs.qualcomm.com/doc/80-70023-50/topic/gst-camera-opencv-resize-py.html](https://docs.qualcomm.com/doc/80-70023-50/topic/gst-camera-opencv-resize-py.html)

The **gst-camera-opencv-resize.py** application uses OpenCV APIs to capture a
        camera frame from a live camera stream and then apply color conversion or re-size the frame.
        The re-sized output is displayed on the screen.

Figure : gst-camera-opencv-resize.py pipeline
            
            <?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" width="1029.999999999996362" height="140" viewbox="0 0 1029.999999999996362 140">
  <g>
    <rect x=".500019073486328" y=".499778747558594" width="1029" height="139.00048828125" rx="7.5" ry="7.5" style="fill: #fafafa;"></rect>
    <path d="M1022.000019073486328.999992370605469c3.85986328125,0,7,3.14013671875,7,7v124c0,3.85986328125-3.14013671875,7-7,7H8.000019073486328c-3.85986328125,0-7-3.14013671875-7-7V7.999992370605469C1.000019073486328,4.140129089355469,4.140155792236328.999992370605469,8.000019073486328.999992370605469h1014M1022.000019073486328-.000007629394531H8.000019073486328C3.581752777099609-.000007629394531.000019073486328,3.581718444824219.000019073486328,7.999992370605469v124C.000019073486328,136.418266296386719,3.581752777099609,139.999992370605469,8.000019073486328,139.999992370605469h1014c4.41845703125,0,8-3.58172607421875,8-8V7.999992370605469C1030.000019073486328,3.581718444824219,1026.418476104736328-.000007629394531,1022.000019073486328-.000007629394531h0Z" style="fill: #d2d7e1;"></path>
  </g>
  <g>
    <g>
      <rect x="257.589522810971175" y="28.346575105810189" width="130" height="46.666666666667879" rx="4" ry="4" style="fill: #007884;"></rect>
      <rect x="411.200181352144682" y="28.346575105810189" width="130.000000000000909" height="46.666666666667879" rx="4" ry="4" style="fill: #007884;"></rect>
      <rect x="871.452866267889476" y="28.346575105810189" width="129.999999999996362" height="46.666666666667879" rx="3.999999999989086" ry="3.999999999989086" style="fill: #007884;"></rect>
      <rect x="103.960719437703119" y="28.346575105810189" width="130" height="46.666666666667879" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <text transform="translate(127.491962432861328 55.771877288818359)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">qtiqmmfsrc</tspan></text>
      <text transform="translate(289.218303680419922 55.770900726318359)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">capsfilter</tspan></text>
      <text transform="translate(454.356403350830078 55.771877288818359)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">queue</tspan></text>
      <rect x="564.771984263828926" y="28.346575105810189" width="130" height="46.666666666667879" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <text transform="translate(581.525516510009766 55.771877288818359)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">qtivtransform</tspan></text>
      <rect x="718.137060465760442" y="28.346575105810189" width="130" height="46.666666666667879" rx="4" ry="4" style="fill: #007884;"></rect>
      <text transform="translate(744.76567554473877 55.771877288818359)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">capsfilter</tspan></text>
      <text transform="translate(892.550929069519043 55.771877288818359)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">waylandsink</tspan></text>
      <g>
        <line x1="233.960712432861328" y1="51.679893493652344" x2="251.553058624267578" y2="51.679893493652344" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="250.385883331299738 55.668968200683594 257.294055938720703 51.679893493652344 250.385883331299738 47.690849304199219 250.385883331299738 55.668968200683594"></polygon>
      </g>
      <g>
        <line x1="387.589527130126953" y1="51.679893493652344" x2="405.181873321533203" y2="51.679893493652344" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="404.014667510986328 55.668968200683594 410.922870635986328 51.679893493652344 404.014667510986328 47.690849304199219 404.014667510986328 55.668968200683594"></polygon>
      </g>
      <g>
        <line x1="541.200153350830078" y1="51.679893493652344" x2="558.792560577392578" y2="51.679893493652344" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="557.625324249267578 55.668968200683594 564.533527374267578 51.679893493652344 557.625324249267578 47.690849304199219 557.625324249267578 55.668968200683594"></polygon>
      </g>
      <g>
        <line x1="694.771991729736328" y1="51.679893493652344" x2="712.364337921142578" y2="51.679893493652344" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="711.197162628173828 55.668968200683594 718.105304718017578 51.679893493652344 711.197162628173828 47.690849304199219 711.197162628173828 55.668968200683594"></polygon>
      </g>
      <g>
        <line x1="848.119525909423828" y1="51.679893493652344" x2="865.711872100830078" y2="51.679893493652344" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="864.544696807861328 55.668968200683594 871.452838897705078 51.679893493652344 864.544696807861328 47.690849304199219 864.544696807861328 55.668968200683594"></polygon>
      </g>
      <line x1="84.114081184834504" y1="51.679908439144128" x2="103.853211619617468" y2="51.679908439144128" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <path d="M62.874881107250076,29.71015011905547h-13.731098950055639l-6.865549475028274,8.238659370033929h-8.238659370031201c-3.033390442167729,0-5.492439580019891,2.459049137853071-5.492439580019891,5.492439580018981v24.715978110098149c0,3.033393061165043,2.459049137852162,5.492439580026257,5.492439580019891,5.492439580026257h43.939516640175498c3.033393061165043,0,5.492439580018981-2.459046518861214,5.492439580018981-5.492439580026257v-24.715978110098149c0-3.03339044216591-2.459046518853938-5.492439580018981-5.492439580018981-5.492439580018981h-8.238659370033929l-6.865549475026455-8.238659370033929Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <circle cx="56.009331632221347" cy="51.679908439145038" r="8.238659370033702" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></circle>
    </g>
    <g>
      <g>
        <text transform="translate(824.380664825439453 107.744926452636719)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Qualcomm </tspan></text>
        <rect x="804.129705200542958" y="95.653424894189811" width="16" height="16" rx="2.000000000000028" ry="2.000000000000028" style="fill: #2a2aea;"></rect>
      </g>
      <g>
        <text transform="translate(922.962512969970703 107.744926452636719)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Open source</tspan></text>
        <rect x="902.711486613396119" y="95.653424894189811" width="16" height="16" rx="2" ry="2" style="fill: #007884;"></rect>
      </g>
    </g>
  </g>
</svg>

## Run the application on the target device

1. Ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-70023-50/topic/prerequisites-for-python-sample-applications.html).
2. Run the application with input from a live
                        camera.

        gst-camera-opencv-resize.py --inwidth 1280 --inheight 720 --outwidth 640 --outheight 480Copy to clipboard

    The
                        stream is displayed on the screen.

## Expected output

Figure : Expected output for gst-camera-opencv-resize.py
                
                ![](data:image/jpeg;base64,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)

## Pipeline flow

The following table lists the plugins used to run the camera streaming with
                    OpenCV pipeline:| Plugin | Description |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70023-50/topic/qtiqmmfsrc.html) | Captures the video stream and feeds it into the<br>                                capsfilter. |
| capsfilter | Enforces constraints on the raw video data. |
| queue | Puts the video data in a queue till the buffer limit is<br>                                met. |
| [qtivtransform](https://docs.qualcomm.com/doc/80-70023-50/topic/qtivtransform.html) | Transforms the video data. <br>After transformation, capsfilter is<br>                                    applied again. |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70023-50/topic/waylandsink.html) | Displays the video stream on the Wayland display. |

## Related information

[Single camera streaming](https://docs.qualcomm.com/doc/80-70023-50/topic/gst-camera-single-stream-example.html)

**Parent Topic:** [Run Python-based applications](https://docs.qualcomm.com/doc/80-70023-50/topic/python-sample-applications.html)

Last Published: Mar 27, 2026

[Previous Topic
Camera encoding](https://docs.qualcomm.com/bundle/publicresource/80-70023-50/topics/camera-encode.md) [Next Topic
Video transformation using OpenCV](https://docs.qualcomm.com/bundle/publicresource/80-70023-50/topics/video-playback-using-opencv.md)