# 使用 OpenCV 进行摄像头流传输

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

**gst-camera-opencv-resize.py** 应用程序使用 OpenCV API 从实时摄像头流中采集摄像头帧，然后应用颜色转换或调整帧大小。调整后的输出将显示在屏幕上。

Figure : gst-camera-opencv-resize.py pipeline
            
            <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export gst_camera_opencv_resize.svg Layer_2 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="10.7292in" height="1.45833in" viewbox="0 0 772.5 105" xml:space="preserve" color-interpolation-filters="sRGB" class="st13"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-1 .st1 { fill: #fafafa; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st2 { fill: #d2d7e1; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st3 { fill: #007884; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st4 { fill: #ffffff; font-family: Roboto; font-size: 1.00001em }
.svg-1 .st5 { fill: #ffffff; font-family: SimHei; font-size: 1.00001em }
.svg-1 .st6 { fill: #2a2aea; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st7 { stroke: #000000; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st8 { fill: #000000; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st9 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st10 { fill: none; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st11 { fill: #000000; font-family: Roboto; font-size: 0.874992em }
.svg-1 .st12 { fill: #000000; font-family: SimHei; font-size: 0.874992em }
.svg-1 .st13 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>Layer_2</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="group1-1" transform="translate(1.43051E-05,-5.72205E-06)" v:mid="1" v:groupcontext="group">		<title>Sheet.1</title>		<g id="shape2-2" v:mid="2" v:groupcontext="shape" transform="translate(0.375,-0.374794)">			<title>Sheet.2</title>			<path d="M0 99.37 A5.62513 5.62513 -180 0 0 5.62 105 L766.12 105 A5.62513 5.62513 -180 0 0 771.75 99.37 L771.75 6.37						 A5.62513 5.62513 -180 0 0 766.12 0.75 L5.62 0.75 A5.62513 5.62513 -180 0 0 0 6.37 L0 99.37 Z" class="st1"></path>		</g>		<g id="shape3-4" v:mid="3" v:groupcontext="shape">			<title>Sheet.3</title>			<path d="M766.5 0.75 C769.39 0.75 771.75 3.11 771.75 6 L771.75 99 C771.75 101.89 769.39 104.25 766.5 104.25 L6 104.25						 C3.11 104.25 0.75 101.89 0.75 99 L0.75 6 C0.75 3.11 3.11 0.75 6 0.75 L766.5 0.75 ZM766.5 0 L6 0 C2.69						 0 0 2.69 0 6 L0 99 C0 102.31 2.69 105 6 105 L766.5 105 C769.81 105 772.5 102.31 772.5 99 L772.5 6 C772.5						 2.69 769.81 0 766.5 0 Z" class="st2"></path>		</g>	</g>	<g id="shape6-6" v:mid="6" v:groupcontext="shape" transform="translate(193.192,-48.7401)">		<title>Sheet.6</title>		<desc>capsfilter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="48.75" cy="87.5" width="97.5" height="35"></v:textrect>		<path d="M0 102 A3.00007 3.00007 -180 0 0 3 105 L94.5 105 A3.00007 3.00007 -180 0 0 97.5 102 L97.5 73 A3.00007 3.00007					 -180 0 0 94.5 70 L3 70 A3.00007 3.00007 -180 0 0 -0 73 L0 102 Z" class="st3"></path>		<text x="23.72" y="91.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>capsfilter</text>		</g>	<g id="shape7-9" v:mid="7" v:groupcontext="shape" transform="translate(308.4,-48.7401)">		<title>Sheet.7</title>		<desc>队列</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="48.75" cy="87.5" width="97.5" height="35"></v:textrect>		<path d="M0 102 A3.00007 3.00007 -180 0 0 3 105 L94.5 105 A3.00007 3.00007 -180 0 0 97.5 102 L97.5 73 A3.00007 3.00007					 -180 0 0 94.5 70 L3 70 A3.00007 3.00007 -180 0 0 -0 73 L0 102 Z" class="st3"></path>		<text x="36.75" y="91.49" class="st5" v:langid="2052"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>队列</text>		</g>	<g id="shape8-12" v:mid="8" v:groupcontext="shape" transform="translate(653.59,-48.7401)">		<title>Sheet.8</title>		<desc>Waylandsink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="48.75" cy="87.5" width="97.5" height="35"></v:textrect>		<path d="M0 102 A3.00007 3.00007 -180 0 0 3 105 L94.5 105 A3.00007 3.00007 -180 0 0 97.5 102 L97.5 73 A3.00007 3.00007					 -180 0 0 94.5 70 L3 70 A3.00007 3.00007 -180 0 0 -0 73 L0 102 Z" class="st3"></path>		<text x="15.01" y="91.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Waylandsink</text>		</g>	<g id="shape9-15" v:mid="9" v:groupcontext="shape" transform="translate(77.9705,-48.7401)">		<title>Sheet.9</title>		<desc>qtiqmmfsrc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="48.75" cy="87.5" width="97.5" height="35"></v:textrect>		<path d="M0 102 A3.00007 3.00007 -180 0 0 3 105 L94.5 105 A3.00007 3.00007 -180 0 0 97.5 102 L97.5 73 A3.00007 3.00007					 -180 0 0 94.5 70 L3 70 A3.00007 3.00007 -180 0 0 -0 73 L0 102 Z" class="st6"></path>		<text x="17.65" y="91.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtiqmmfsrc</text>		</g>	<g id="shape13-18" v:mid="13" v:groupcontext="shape" transform="translate(423.579,-48.7401)">		<title>Sheet.13</title>		<desc>qtivtransform</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="48.75" cy="87.5" width="97.5" height="35"></v:textrect>		<path d="M0 102 A3.00007 3.00007 -180 0 0 3 105 L94.5 105 A3.00007 3.00007 -180 0 0 97.5 102 L97.5 73 A3.00007 3.00007					 -180 0 0 94.5 70 L3 70 A3.00007 3.00007 -180 0 0 -0 73 L0 102 Z" class="st6"></path>		<text x="12.57" y="91.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivtransform</text>		</g>	<g id="shape15-21" v:mid="15" v:groupcontext="shape" transform="translate(538.603,-48.7401)">		<title>Sheet.15</title>		<desc>capsfilter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="48.75" cy="87.5" width="97.5" height="35"></v:textrect>		<path d="M0 102 A3.00007 3.00007 -180 0 0 3 105 L94.5 105 A3.00007 3.00007 -180 0 0 97.5 102 L97.5 73 A3.00007 3.00007					 -180 0 0 94.5 70 L3 70 A3.00007 3.00007 -180 0 0 -0 73 L0 102 Z" class="st3"></path>		<text x="23.72" y="91.1" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>capsfilter</text>		</g>	<g id="group18-24" transform="translate(175.471,-63.2483)" v:mid="18" v:groupcontext="group">		<title>Sheet.18</title>		<g id="shape19-25" v:mid="19" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.19</title>			<path d="M0 105 L13.19 105" class="st7"></path>		</g>		<g id="shape20-28" v:mid="20" v:groupcontext="shape" transform="translate(12.3189,-2.84217E-14)">			<title>Sheet.20</title>			<path d="M0 105 L5.18 102.01 L0 99.02 L0 105 Z" class="st8"></path>		</g>	</g>	<g id="group21-30" transform="translate(290.692,-63.2483)" v:mid="21" v:groupcontext="group">		<title>Sheet.21</title>		<g id="shape22-31" v:mid="22" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.22</title>			<path d="M0 105 L13.19 105" class="st7"></path>		</g>		<g id="shape23-34" v:mid="23" v:groupcontext="shape" transform="translate(12.3189,-2.84217E-14)">			<title>Sheet.23</title>			<path d="M0 105 L5.18 102.01 L0 99.02 L0 105 Z" class="st8"></path>		</g>	</g>	<g id="group24-36" transform="translate(405.9,-63.2483)" v:mid="24" v:groupcontext="group">		<title>Sheet.24</title>		<g id="shape25-37" v:mid="25" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.25</title>			<path d="M0 105 L13.19 105" class="st7"></path>		</g>		<g id="shape26-40" v:mid="26" v:groupcontext="shape" transform="translate(12.3189,-2.84217E-14)">			<title>Sheet.26</title>			<path d="M0 105 L5.18 102.01 L0 99.02 L0 105 Z" class="st8"></path>		</g>	</g>	<g id="group27-42" transform="translate(521.079,-63.2483)" v:mid="27" v:groupcontext="group">		<title>Sheet.27</title>		<g id="shape28-43" v:mid="28" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.28</title>			<path d="M0 105 L13.19 105" class="st7"></path>		</g>		<g id="shape29-46" v:mid="29" v:groupcontext="shape" transform="translate(12.3189,-2.84217E-14)">			<title>Sheet.29</title>			<path d="M0 105 L5.18 102.01 L0 99.02 L0 105 Z" class="st8"></path>		</g>	</g>	<g id="group30-48" transform="translate(636.09,-63.2483)" v:mid="30" v:groupcontext="group">		<title>Sheet.30</title>		<g id="shape31-49" v:mid="31" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.31</title>			<path d="M0 105 L13.19 105" class="st7"></path>		</g>		<g id="shape32-52" v:mid="32" v:groupcontext="shape" transform="translate(12.3189,-2.84217E-14)">			<title>Sheet.32</title>			<path d="M0 105 L5.18 102.01 L0 99.02 L0 105 Z" class="st8"></path>		</g>	</g>	<g id="shape33-54" v:mid="33" v:groupcontext="shape" transform="translate(63.0856,-66.2401)">		<title>Sheet.33</title>		<path d="M0 105 L14.8 105" class="st7"></path>	</g>	<g id="shape34-57" v:mid="34" v:groupcontext="shape" transform="translate(21.4104,-49.7627)">		<title>Sheet.34</title>		<path d="M25.75 72.05 L15.45 72.05 L10.3 78.22 L4.12 78.22 C1.84 78.22 0 80.07 0 82.34 L0 100.88 C0 103.16 1.84 105 4.12					 105 L37.07 105 C39.35 105 41.19 103.16 41.19 100.88 L41.19 82.34 C41.19 80.07 39.35 78.22 37.07 78.22 L30.89					 78.22 L25.75 72.05 Z" class="st9"></path>	</g>	<g id="shape35-59" v:mid="35" v:groupcontext="shape" transform="translate(35.828,-60.0611)">		<title>Sheet.35</title>		<ellipse cx="6.17899" cy="98.821" rx="6.17899" ry="6.17899" class="st9"></ellipse>	</g>	<g id="group43-61" transform="translate(640.965,-21.0413)" v:mid="43" v:groupcontext="group">		<title>Sheet.43</title>		<g id="shape38-62" v:mid="38" v:groupcontext="shape" transform="translate(15.1882,1.42109E-14)">			<title>Sheet.38</title>			<desc>Qualcomm</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="26.6698" cy="98.7" width="53.34" height="12.6"></v:textrect>			<rect x="0" y="92.4" width="53.3395" height="12.6" class="st10"></rect>			<text x="0" y="101.85" class="st11" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Qualcomm  </text>			</g>		<g id="shape39-65" v:mid="39" v:groupcontext="shape" transform="translate(1.26898E-13,-0.218626)">			<title>Sheet.39</title>			<path d="M0 103.5 A1.50003 1.50003 -180 0 0 1.5 105 L10.5 105 A1.50003 1.50003 -180 0 0 12 103.5 L12 94.5 A1.50003						 1.50003 -180 0 0 10.5 93 L1.5 93 A1.50003 1.50003 -180 0 0 0 94.5 L0 103.5 Z" class="st6"></path>		</g>		<g id="shape41-67" v:mid="41" v:groupcontext="shape" transform="translate(89.1246,1.42109E-14)">			<title>Sheet.41</title>			<desc>开源</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="10.5" cy="98.7" width="21.01" height="12.6"></v:textrect>			<rect x="0" y="92.4" width="21" height="12.6" class="st10"></rect>			<text x="0" y="101.85" class="st12" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>开源</text>			</g>		<g id="shape42-70" v:mid="42" v:groupcontext="shape" transform="translate(73.9363,-0.218626)">			<title>Sheet.42</title>			<path d="M0 103.5 A1.50003 1.50003 -180 0 0 1.5 105 L10.5 105 A1.50003 1.50003 -180 0 0 12 103.5 L12 94.5 A1.50003						 1.50003 -180 0 0 10.5 93 L1.5 93 A1.50003 1.50003 -180 0 0 0 94.5 L0 103.5 Z" class="st3"></path>		</g>	</g></g>
</svg>

## 在目标设备上运行应用程序

1. 确保您已完成[前提条件](https://docs.qualcomm.com/doc/80-70022-50SC/topic/prerequisites-for-python-sample-applications.html)。
2. 使用实时摄像头输入运行应用程序。

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

    流将显示在屏幕上。

## 预期输出

Figure : gst-camera-opencv-resize.py 的预期输出
                
                ![](data:image/jpeg;base64,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)

## Pipeline 流

下表列出了用于使用 OpenCV pipeline 运行摄像头流传输所用的插件：| 插件 | 说明 |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtiqmmfsrc.html) | 采集视频流并将其送到 capsfilter 中。 |
| capsfilter | 对原始视频数据强制实施约束。 |
| queue | 将视频数据放入队列，直至达到缓存限制。 |
| [qtivtransform](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivtransform.html) | 转换视频数据。 <br>转换后，再次应用 capsfilter。 |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50SC/topic/waylandsink.html) | 在 Wayland 显示器上显示视频流。 |

## 相关信息

[单路摄像头流传输](https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-camera-single-stream-example.html)

**Parent Topic:** [运行基于 Python 的应用程序](https://docs.qualcomm.com/doc/80-70022-50SC/topic/python-sample-applications.html)

Last Published: Nov 05, 2025

[Previous Topic
摄像头编码](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/camera-encode.md) [Next Topic
使用 OpenCV 进行视频转换](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/video-playback-using-opencv.md)