feat: 切换后端至PaddleOCR-NCNN,切换工程为CMake
1.项目后端整体迁移至PaddleOCR-NCNN算法,已通过基本的兼容性测试 2.工程改为使用CMake组织,后续为了更好地兼容第三方库,不再提供QMake工程 3.重整权利声明文件,重整代码工程,确保最小化侵权风险 Log: 切换后端至PaddleOCR-NCNN,切换工程为CMake Change-Id: I4d5d2c5d37505a4a24b389b1a4c5d12f17bfa38c
This commit is contained in:
		
							
								
								
									
										877
									
								
								3rdparty/opencv-4.5.4/modules/videoio/doc/pics/videoio_overview.svg
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										877
									
								
								3rdparty/opencv-4.5.4/modules/videoio/doc/pics/videoio_overview.svg
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,877 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   xmlns:dc="http://purl.org/dc/elements/1.1/"
 | 
			
		||||
   xmlns:cc="http://creativecommons.org/ns#"
 | 
			
		||||
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
			
		||||
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
			
		||||
   width="559.99994"
 | 
			
		||||
   height="520"
 | 
			
		||||
   viewBox="0 0 559.99993 520"
 | 
			
		||||
   id="svg2"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   inkscape:version="0.91 r13725"
 | 
			
		||||
   sodipodi:docname="opencv-videoio-structure.svg"
 | 
			
		||||
   inkscape:export-filename="./opencv-videoio-structure.png"
 | 
			
		||||
   inkscape:export-xdpi="90"
 | 
			
		||||
   inkscape:export-ydpi="90">
 | 
			
		||||
  <sodipodi:namedview
 | 
			
		||||
     id="base"
 | 
			
		||||
     pagecolor="#ffffff"
 | 
			
		||||
     bordercolor="#666666"
 | 
			
		||||
     borderopacity="1.0"
 | 
			
		||||
     inkscape:pageopacity="0.0"
 | 
			
		||||
     inkscape:pageshadow="2"
 | 
			
		||||
     inkscape:zoom="1.3701928"
 | 
			
		||||
     inkscape:cx="397.12938"
 | 
			
		||||
     inkscape:cy="243.08432"
 | 
			
		||||
     inkscape:document-units="px"
 | 
			
		||||
     inkscape:current-layer="layer1"
 | 
			
		||||
     showgrid="true"
 | 
			
		||||
     showguides="true"
 | 
			
		||||
     inkscape:guide-bbox="true"
 | 
			
		||||
     inkscape:snap-page="false"
 | 
			
		||||
     inkscape:snap-bbox="true"
 | 
			
		||||
     inkscape:bbox-nodes="true"
 | 
			
		||||
     inkscape:snap-bbox-edge-midpoints="false"
 | 
			
		||||
     inkscape:bbox-paths="false"
 | 
			
		||||
     inkscape:object-nodes="true"
 | 
			
		||||
     inkscape:snap-intersection-paths="true"
 | 
			
		||||
     inkscape:snap-midpoints="true"
 | 
			
		||||
     inkscape:object-paths="true"
 | 
			
		||||
     inkscape:snap-object-midpoints="true"
 | 
			
		||||
     inkscape:snap-bbox-midpoints="false"
 | 
			
		||||
     inkscape:snap-center="true"
 | 
			
		||||
     inkscape:snap-global="true"
 | 
			
		||||
     inkscape:window-width="1920"
 | 
			
		||||
     inkscape:window-height="1028"
 | 
			
		||||
     inkscape:window-x="1912"
 | 
			
		||||
     inkscape:window-y="-8"
 | 
			
		||||
     inkscape:window-maximized="1"
 | 
			
		||||
     inkscape:snap-nodes="false"
 | 
			
		||||
     inkscape:snap-others="false"
 | 
			
		||||
     inkscape:snap-grids="true"
 | 
			
		||||
     fit-margin-top="10"
 | 
			
		||||
     fit-margin-left="10"
 | 
			
		||||
     fit-margin-right="10"
 | 
			
		||||
     fit-margin-bottom="10"
 | 
			
		||||
     units="px">
 | 
			
		||||
    <inkscape:grid
 | 
			
		||||
       originy="-179.99988"
 | 
			
		||||
       originx="-1620"
 | 
			
		||||
       visible="true"
 | 
			
		||||
       empspacing="1"
 | 
			
		||||
       spacingy="10"
 | 
			
		||||
       spacingx="9.9999999"
 | 
			
		||||
       dotted="false"
 | 
			
		||||
       id="grid6826"
 | 
			
		||||
       type="xygrid" />
 | 
			
		||||
  </sodipodi:namedview>
 | 
			
		||||
  <title
 | 
			
		||||
     id="title7860">OpenCV video I/O Structure</title>
 | 
			
		||||
  <defs
 | 
			
		||||
     id="defs4" />
 | 
			
		||||
  <metadata
 | 
			
		||||
     id="metadata7">
 | 
			
		||||
    <rdf:RDF>
 | 
			
		||||
      <cc:Work
 | 
			
		||||
         rdf:about="">
 | 
			
		||||
        <dc:format>image/svg+xml</dc:format>
 | 
			
		||||
        <dc:type
 | 
			
		||||
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 | 
			
		||||
        <dc:title>OpenCV video I/O Structure</dc:title>
 | 
			
		||||
        <cc:license
 | 
			
		||||
           rdf:resource="http://creativecommons.org/licenses/by/3.0/" />
 | 
			
		||||
        <dc:creator>
 | 
			
		||||
          <cc:Agent>
 | 
			
		||||
            <dc:title>PkLab.net</dc:title>
 | 
			
		||||
          </cc:Agent>
 | 
			
		||||
        </dc:creator>
 | 
			
		||||
        <dc:language>English</dc:language>
 | 
			
		||||
        <dc:subject>
 | 
			
		||||
          <rdf:Bag>
 | 
			
		||||
            <rdf:li>OpenCV</rdf:li>
 | 
			
		||||
            <rdf:li>Video I/O</rdf:li>
 | 
			
		||||
          </rdf:Bag>
 | 
			
		||||
        </dc:subject>
 | 
			
		||||
        <dc:description />
 | 
			
		||||
      </cc:Work>
 | 
			
		||||
      <cc:License
 | 
			
		||||
         rdf:about="http://creativecommons.org/licenses/by/3.0/">
 | 
			
		||||
        <cc:permits
 | 
			
		||||
           rdf:resource="http://creativecommons.org/ns#Reproduction" />
 | 
			
		||||
        <cc:permits
 | 
			
		||||
           rdf:resource="http://creativecommons.org/ns#Distribution" />
 | 
			
		||||
        <cc:requires
 | 
			
		||||
           rdf:resource="http://creativecommons.org/ns#Notice" />
 | 
			
		||||
        <cc:requires
 | 
			
		||||
           rdf:resource="http://creativecommons.org/ns#Attribution" />
 | 
			
		||||
        <cc:permits
 | 
			
		||||
           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
 | 
			
		||||
      </cc:License>
 | 
			
		||||
    </rdf:RDF>
 | 
			
		||||
  </metadata>
 | 
			
		||||
  <g
 | 
			
		||||
     transform="translate(-1620.0001,-352.36227)"
 | 
			
		||||
     id="layer1"
 | 
			
		||||
     inkscape:groupmode="layer"
 | 
			
		||||
     inkscape:label="Layer 1">
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="372.86224"
 | 
			
		||||
       x="1640.5001"
 | 
			
		||||
       height="79"
 | 
			
		||||
       width="518.99982"
 | 
			
		||||
       id="rect4136-9-7"
 | 
			
		||||
       style="fill:#9aba59;fill-opacity:1;stroke:#6f00c7;stroke-width:1.00000012;stroke-miterlimit:4;stroke-dasharray:1.00000003, 1.00000003;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="402.86224"
 | 
			
		||||
       x="1820.5001"
 | 
			
		||||
       height="39"
 | 
			
		||||
       width="99"
 | 
			
		||||
       id="rect4615-2-7-5-2-1-4-4-6"
 | 
			
		||||
       style="fill:#809f41;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="772.86224"
 | 
			
		||||
       x="1640.5001"
 | 
			
		||||
       height="79"
 | 
			
		||||
       width="519"
 | 
			
		||||
       id="rect4136-8-5-3-3-3"
 | 
			
		||||
       style="fill:#cccccc;fill-opacity:1;stroke:#6f00c7;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:1.00000001, 1.00000001;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text5457-0-7-9"
 | 
			
		||||
       y="792.29303"
 | 
			
		||||
       x="1899.3917"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:15px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         style="font-size:15px"
 | 
			
		||||
         y="792.29303"
 | 
			
		||||
         x="1899.3917"
 | 
			
		||||
         id="tspan5459-7-2-3"
 | 
			
		||||
         sodipodi:role="line">MEDIA DEVICES</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="682.86224"
 | 
			
		||||
       x="1640.5001"
 | 
			
		||||
       height="79"
 | 
			
		||||
       width="519"
 | 
			
		||||
       id="rect4136-8-5-3-8"
 | 
			
		||||
       style="fill:#ffb380;fill-opacity:1;stroke:#6f00c7;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:1.00000003, 1.00000003;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text5457-0-6"
 | 
			
		||||
       y="702.27844"
 | 
			
		||||
       x="1899.941"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:15px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         style="font-size:15px"
 | 
			
		||||
         y="702.27844"
 | 
			
		||||
         x="1899.941"
 | 
			
		||||
         id="tspan5459-7-3"
 | 
			
		||||
         sodipodi:role="line">SYSTEM</tspan></text>
 | 
			
		||||
    <text
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       x="1330.3986"
 | 
			
		||||
       y="308.75192"
 | 
			
		||||
       id="text5748"
 | 
			
		||||
       sodipodi:linespacing="125%"><tspan
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5750"
 | 
			
		||||
         x="1330.3986"
 | 
			
		||||
         y="308.75192" /></text>
 | 
			
		||||
    <text
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       x="1330.3986"
 | 
			
		||||
       y="308.75192"
 | 
			
		||||
       id="text5752"
 | 
			
		||||
       sodipodi:linespacing="125%"><tspan
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5754"
 | 
			
		||||
         x="1330.3986"
 | 
			
		||||
         y="308.75192" /></text>
 | 
			
		||||
    <text
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       x="1490.257"
 | 
			
		||||
       y="308.75192"
 | 
			
		||||
       id="text5748-3"
 | 
			
		||||
       sodipodi:linespacing="125%"><tspan
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5750-9"
 | 
			
		||||
         x="1490.257"
 | 
			
		||||
         y="308.75192" /></text>
 | 
			
		||||
    <text
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       x="1490.257"
 | 
			
		||||
       y="308.75192"
 | 
			
		||||
       id="text5752-1"
 | 
			
		||||
       sodipodi:linespacing="125%"><tspan
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5754-8"
 | 
			
		||||
         x="1490.257"
 | 
			
		||||
         y="308.75192" /></text>
 | 
			
		||||
    <text
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       x="1170.5402"
 | 
			
		||||
       y="308.75192"
 | 
			
		||||
       id="text5748-3-9"
 | 
			
		||||
       sodipodi:linespacing="125%"><tspan
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5750-9-4"
 | 
			
		||||
         x="1170.5402"
 | 
			
		||||
         y="308.75192" /></text>
 | 
			
		||||
    <text
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       x="1170.5402"
 | 
			
		||||
       y="308.75192"
 | 
			
		||||
       id="text5752-1-5"
 | 
			
		||||
       sodipodi:linespacing="125%"><tspan
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5754-8-4"
 | 
			
		||||
         x="1170.5402"
 | 
			
		||||
         y="308.75192" /></text>
 | 
			
		||||
    <text
 | 
			
		||||
       transform="scale(0.96032163,1.0413178)"
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4165-3-0"
 | 
			
		||||
       y="376.56689"
 | 
			
		||||
       x="1978.5697"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:15px;line-height:125%;font-family:Verdana;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"><tspan
 | 
			
		||||
         y="376.56689"
 | 
			
		||||
         x="1978.5697"
 | 
			
		||||
         id="tspan4167-5-0"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         style="font-size:15px;text-align:center;text-anchor:middle">USER APPLICATION</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="462.86221"
 | 
			
		||||
       x="1820.5001"
 | 
			
		||||
       height="209"
 | 
			
		||||
       width="339"
 | 
			
		||||
       id="rect4136-8-4-82-8"
 | 
			
		||||
       style="fill:#80b3ff;fill-opacity:1;stroke:#6f00c7;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:0.99999996, 0.99999996;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4577-6-1"
 | 
			
		||||
       y="478.42764"
 | 
			
		||||
       x="2061.6013"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:15px;line-height:125%;font-family:Verdana;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         style="font-size:15px"
 | 
			
		||||
         id="tspan4581-0-0"
 | 
			
		||||
         y="478.42764"
 | 
			
		||||
         x="2061.6013"
 | 
			
		||||
         sodipodi:role="line">OpenCV Video I/O</tspan></text>
 | 
			
		||||
    <path
 | 
			
		||||
       inkscape:connector-curvature="0"
 | 
			
		||||
       id="path4789-4-4"
 | 
			
		||||
       d="m 1820.0815,567.77306 340,0"
 | 
			
		||||
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.99999991, 0.99999995;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4577-9-3-2"
 | 
			
		||||
       y="581.95209"
 | 
			
		||||
       x="1990.1963"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"><tspan
 | 
			
		||||
         id="tspan4581-2-5-1"
 | 
			
		||||
         y="581.95209"
 | 
			
		||||
         x="1990.1963"
 | 
			
		||||
         sodipodi:role="line">OpenCV Video I/O API Backends</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="5"
 | 
			
		||||
       rx="5"
 | 
			
		||||
       y="592.86224"
 | 
			
		||||
       x="1913.8334"
 | 
			
		||||
       height="29.000002"
 | 
			
		||||
       width="69"
 | 
			
		||||
       id="rect4615-4-6-4"
 | 
			
		||||
       style="fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-9-4"
 | 
			
		||||
       y="612.11469"
 | 
			
		||||
       x="1947.6696"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="612.11469"
 | 
			
		||||
         x="1947.6696"
 | 
			
		||||
         id="tspan4365-0-2"
 | 
			
		||||
         sodipodi:role="line">DShow</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="5"
 | 
			
		||||
       rx="5"
 | 
			
		||||
       y="592.86224"
 | 
			
		||||
       x="2080.5"
 | 
			
		||||
       height="29.000002"
 | 
			
		||||
       width="69"
 | 
			
		||||
       id="rect4615-5-7-0"
 | 
			
		||||
       style="fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-6-1-4"
 | 
			
		||||
       y="612.00482"
 | 
			
		||||
       x="2114.123"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="612.00482"
 | 
			
		||||
         x="2114.123"
 | 
			
		||||
         id="tspan4365-8-0-4"
 | 
			
		||||
         sodipodi:role="line">MSMF</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="5"
 | 
			
		||||
       rx="5"
 | 
			
		||||
       y="592.86224"
 | 
			
		||||
       x="1830.5001"
 | 
			
		||||
       height="29"
 | 
			
		||||
       width="69"
 | 
			
		||||
       id="rect4615-11-0"
 | 
			
		||||
       style="fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-6-4"
 | 
			
		||||
       y="611.99872"
 | 
			
		||||
       x="1864.5328"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"><tspan
 | 
			
		||||
         y="611.99872"
 | 
			
		||||
         x="1864.5328"
 | 
			
		||||
         id="tspan4365-6-9-6"
 | 
			
		||||
         sodipodi:role="line">FFMPEG</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="5"
 | 
			
		||||
       rx="5"
 | 
			
		||||
       y="632.79645"
 | 
			
		||||
       x="1913.8334"
 | 
			
		||||
       height="29"
 | 
			
		||||
       width="69"
 | 
			
		||||
       id="rect4615-94-7-1"
 | 
			
		||||
       style="fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-4-8-8"
 | 
			
		||||
       y="651.9455"
 | 
			
		||||
       x="1947.932"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="651.9455"
 | 
			
		||||
         x="1947.932"
 | 
			
		||||
         id="tspan4365-7-09-1"
 | 
			
		||||
         sodipodi:role="line">V4L</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="5"
 | 
			
		||||
       rx="5"
 | 
			
		||||
       y="592.86224"
 | 
			
		||||
       x="1997.1666"
 | 
			
		||||
       height="29.000002"
 | 
			
		||||
       width="69"
 | 
			
		||||
       id="rect4615-9-6-4"
 | 
			
		||||
       style="fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-7-5-3"
 | 
			
		||||
       y="612.00482"
 | 
			
		||||
       x="2031.5355"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="612.00482"
 | 
			
		||||
         x="2031.5355"
 | 
			
		||||
         id="tspan4365-9-0-9"
 | 
			
		||||
         sodipodi:role="line">VFW</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="5"
 | 
			
		||||
       rx="5"
 | 
			
		||||
       y="632.79645"
 | 
			
		||||
       x="1830.5001"
 | 
			
		||||
       height="29"
 | 
			
		||||
       width="69"
 | 
			
		||||
       id="rect4615-0-7-6"
 | 
			
		||||
       style="fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-4-6-1-7"
 | 
			
		||||
       y="651.22223"
 | 
			
		||||
       x="1864.9784"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="651.22223"
 | 
			
		||||
         x="1864.9784"
 | 
			
		||||
         id="tspan4365-7-0-4-1"
 | 
			
		||||
         sodipodi:role="line">AVF/IOS</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="5"
 | 
			
		||||
       rx="5"
 | 
			
		||||
       y="632.79645"
 | 
			
		||||
       x="2080.5"
 | 
			
		||||
       height="29"
 | 
			
		||||
       width="69"
 | 
			
		||||
       id="rect4615-1-2-1"
 | 
			
		||||
       style="fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-4-6-7-6-2"
 | 
			
		||||
       y="651.71051"
 | 
			
		||||
       x="2115.1025"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="651.71051"
 | 
			
		||||
         x="2115.1025"
 | 
			
		||||
         id="tspan4365-7-0-1-8-6"
 | 
			
		||||
         sodipodi:role="line">etc...</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="5"
 | 
			
		||||
       rx="5"
 | 
			
		||||
       y="632.79645"
 | 
			
		||||
       x="1997.1666"
 | 
			
		||||
       height="29"
 | 
			
		||||
       width="69"
 | 
			
		||||
       id="rect4615-6-6-4"
 | 
			
		||||
       style="fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4409-2-7"
 | 
			
		||||
       y="651.9455"
 | 
			
		||||
       x="2031.4104"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="651.9455"
 | 
			
		||||
         x="2031.4104"
 | 
			
		||||
         id="tspan4411-9-8"
 | 
			
		||||
         sodipodi:role="line">OPENNI</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="462.86221"
 | 
			
		||||
       x="1640.5001"
 | 
			
		||||
       height="209"
 | 
			
		||||
       width="169"
 | 
			
		||||
       id="rect4136-8-4-8-3-9"
 | 
			
		||||
       style="fill:#e9afaf;fill-opacity:1;stroke:#6f00c7;stroke-width:0.99999964;stroke-miterlimit:4;stroke-dasharray:1.00000002, 1.00000002;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4577-8-4-3"
 | 
			
		||||
       y="479.85953"
 | 
			
		||||
       x="1723.9659"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:15px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"><tspan
 | 
			
		||||
         style="font-size:15px;text-align:center;text-anchor:middle"
 | 
			
		||||
         id="tspan4581-5-1-7"
 | 
			
		||||
         y="479.85953"
 | 
			
		||||
         x="1723.9659"
 | 
			
		||||
         sodipodi:role="line">Manufacturer Driver</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="557.86224"
 | 
			
		||||
       x="1650.5001"
 | 
			
		||||
       height="39"
 | 
			
		||||
       width="149"
 | 
			
		||||
       id="rect4615-2-7-1-9"
 | 
			
		||||
       style="fill:#d35f5f;fill-opacity:1;stroke:#000000;stroke-width:0.99999982;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-2-8-9"
 | 
			
		||||
       y="581.27667"
 | 
			
		||||
       x="1724.7936"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="581.27667"
 | 
			
		||||
         x="1724.7936"
 | 
			
		||||
         id="tspan4365-6-3-6-7-2"
 | 
			
		||||
         sodipodi:role="line">C / C++ / JAVA API</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="402.86224"
 | 
			
		||||
       x="1665.5001"
 | 
			
		||||
       height="39"
 | 
			
		||||
       width="119"
 | 
			
		||||
       id="rect4615-2-7-5-2-0"
 | 
			
		||||
       style="fill:#809f41;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-2-7-3-4"
 | 
			
		||||
       y="419.3027"
 | 
			
		||||
       x="1724.9401"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="419.3027"
 | 
			
		||||
         x="1724.9401"
 | 
			
		||||
         id="tspan4365-6-3-6-2-2-2"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         style="font-size:12.5px;text-align:center;text-anchor:middle">cv::Mat from</tspan><tspan
 | 
			
		||||
         y="434.9277"
 | 
			
		||||
         x="1724.9401"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5401-7-0"
 | 
			
		||||
         style="font-size:12.5px;text-align:center;text-anchor:middle">buffer</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="712.86224"
 | 
			
		||||
       x="1650.5001"
 | 
			
		||||
       height="39"
 | 
			
		||||
       width="149"
 | 
			
		||||
       id="rect4615-2-7-0-6-8"
 | 
			
		||||
       style="fill:#d35f5f;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-2-6-5-7"
 | 
			
		||||
       y="728.19025"
 | 
			
		||||
       x="1724.0917"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="728.19025"
 | 
			
		||||
         x="1724.0917"
 | 
			
		||||
         id="tspan4365-6-3-6-6-1-0"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         style="font-size:12.5px;text-align:center;text-anchor:middle">Manufacturer</tspan><tspan
 | 
			
		||||
         y="743.81525"
 | 
			
		||||
         x="1724.0917"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5372-4-1">Library</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="712.86224"
 | 
			
		||||
       x="1825.5001"
 | 
			
		||||
       height="39"
 | 
			
		||||
       width="99"
 | 
			
		||||
       id="rect4615-2-7-0-2-8-7"
 | 
			
		||||
       style="fill:#c87137;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-2-6-7-2-5"
 | 
			
		||||
       y="729.32245"
 | 
			
		||||
       x="1874.3451"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="729.32245"
 | 
			
		||||
         x="1874.3451"
 | 
			
		||||
         id="tspan4365-6-3-6-6-8-7-6"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         style="font-size:12.5px;text-align:center;text-anchor:middle;fill:#ffffff">Backends</tspan><tspan
 | 
			
		||||
         y="744.94745"
 | 
			
		||||
         x="1874.3451"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5372-3-26-8">Libraries</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="712.86224"
 | 
			
		||||
       x="2050.5"
 | 
			
		||||
       height="39"
 | 
			
		||||
       width="99.000038"
 | 
			
		||||
       id="rect4615-2-7-0-2-5-1-6"
 | 
			
		||||
       style="fill:#c87137;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-2-6-7-1-6-4"
 | 
			
		||||
       y="729.21259"
 | 
			
		||||
       x="2099.3086"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="729.21259"
 | 
			
		||||
         x="2099.3086"
 | 
			
		||||
         id="tspan4365-6-3-6-6-8-6-5-6"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         style="font-size:12.5px;text-align:center;text-anchor:middle;fill:#ffffff">O.S.</tspan><tspan
 | 
			
		||||
         y="744.83759"
 | 
			
		||||
         x="2099.3086"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5372-3-2-4-8">Libraries</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="402.86224"
 | 
			
		||||
       x="1935.5"
 | 
			
		||||
       height="39"
 | 
			
		||||
       width="99"
 | 
			
		||||
       id="rect4615-2-7-5-2-1-2"
 | 
			
		||||
       style="fill:#809f41;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="402.86224"
 | 
			
		||||
       x="2050.5"
 | 
			
		||||
       height="39"
 | 
			
		||||
       width="99"
 | 
			
		||||
       id="rect4615-2-7-5-2-1-4-8"
 | 
			
		||||
       style="fill:#809f41;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-2-7-3-0-1-3"
 | 
			
		||||
       y="423.06659"
 | 
			
		||||
       x="1961.3533"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0118989,0.98824102)"><tspan
 | 
			
		||||
         y="423.06659"
 | 
			
		||||
         x="1961.3533"
 | 
			
		||||
         id="tspan4365-6-3-6-2-2-1-7-5"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         style="font-size:12.5px;text-align:center;text-anchor:middle">set / get</tspan><tspan
 | 
			
		||||
         y="438.69159"
 | 
			
		||||
         x="1961.3533"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5401-7-6-4-7"
 | 
			
		||||
         style="font-size:12.5px;text-align:center;text-anchor:middle">properties</tspan></text>
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-2-7-3-0-1-4-5"
 | 
			
		||||
       y="419.27219"
 | 
			
		||||
       x="2099.635"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="419.27219"
 | 
			
		||||
         x="2099.635"
 | 
			
		||||
         id="tspan4365-6-3-6-2-2-1-7-4-3"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         style="font-size:12.5px;text-align:center;text-anchor:middle">grab / write</tspan><tspan
 | 
			
		||||
         y="434.89719"
 | 
			
		||||
         x="2099.635"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5401-7-6-4-3-2"
 | 
			
		||||
         style="font-size:12.5px;text-align:center;text-anchor:middle">frame</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="802.86224"
 | 
			
		||||
       x="1650.5001"
 | 
			
		||||
       height="39"
 | 
			
		||||
       width="149"
 | 
			
		||||
       id="rect4615-2-7-0-6-6-5"
 | 
			
		||||
       style="fill:#4d4d4d;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-2-6-5-2-08"
 | 
			
		||||
       y="827.02747"
 | 
			
		||||
       x="1724.9156"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="827.02747"
 | 
			
		||||
         x="1724.9156"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5372-4-2-73">Camera</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="802.86224"
 | 
			
		||||
       x="1825.5001"
 | 
			
		||||
       height="39"
 | 
			
		||||
       width="149"
 | 
			
		||||
       id="rect4615-2-7-0-6-6-4-6"
 | 
			
		||||
       style="fill:#4d4d4d;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-2-6-5-2-0-1"
 | 
			
		||||
       y="827.14954"
 | 
			
		||||
       x="1899.9178"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="827.14954"
 | 
			
		||||
         x="1899.9178"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5372-4-2-7-0">Video File</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="802.86224"
 | 
			
		||||
       x="2000.5001"
 | 
			
		||||
       height="39"
 | 
			
		||||
       width="149"
 | 
			
		||||
       id="rect4615-2-7-0-6-6-6-6"
 | 
			
		||||
       style="fill:#4d4d4d;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-2-6-5-2-03-1"
 | 
			
		||||
       y="827.14954"
 | 
			
		||||
       x="2074.5935"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="827.14954"
 | 
			
		||||
         x="2074.5935"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5372-4-2-6-7">Network Stream</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 | 
			
		||||
       id="rect8223"
 | 
			
		||||
       width="538.99994"
 | 
			
		||||
       height="499.00003"
 | 
			
		||||
       x="1630.5001"
 | 
			
		||||
       y="362.86227"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       ry="10" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-2-7-3-0-2"
 | 
			
		||||
       y="419.27219"
 | 
			
		||||
       x="1869.9166"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="419.27219"
 | 
			
		||||
         x="1869.9166"
 | 
			
		||||
         id="tspan4365-6-3-6-2-2-1-2"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         style="font-size:12.5px;text-align:center;text-anchor:middle">create / open</tspan><tspan
 | 
			
		||||
         y="434.89719"
 | 
			
		||||
         x="1869.9166"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5401-7-6-8"
 | 
			
		||||
         style="font-size:12.5px;text-align:center;text-anchor:middle">device</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="10"
 | 
			
		||||
       y="712.86224"
 | 
			
		||||
       x="1938"
 | 
			
		||||
       height="39"
 | 
			
		||||
       width="99"
 | 
			
		||||
       id="rect4615-2-7-0-2-8-7-8"
 | 
			
		||||
       style="fill:#c87137;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-2-6-7-2-5-2"
 | 
			
		||||
       y="729.32245"
 | 
			
		||||
       x="1986.8268"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="729.32245"
 | 
			
		||||
         x="1986.8268"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan5372-3-26-8-5">CODECS</tspan><tspan
 | 
			
		||||
         y="744.94745"
 | 
			
		||||
         x="1986.8268"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan4295">(fourcc)</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="9.3800001"
 | 
			
		||||
       y="507.86713"
 | 
			
		||||
       x="1841.6537"
 | 
			
		||||
       height="43.995113"
 | 
			
		||||
       width="90.999962"
 | 
			
		||||
       id="rect4615-2-8-4-2"
 | 
			
		||||
       style="fill:#6b98c9;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="9.3800011"
 | 
			
		||||
       y="507.86713"
 | 
			
		||||
       x="1945.6538"
 | 
			
		||||
       height="43.995113"
 | 
			
		||||
       width="198.99985"
 | 
			
		||||
       id="rect4615-2-8-4-2-4"
 | 
			
		||||
       style="fill:#6b98c9;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="9.3800001"
 | 
			
		||||
       y="483.86713"
 | 
			
		||||
       x="1833.6537"
 | 
			
		||||
       height="29"
 | 
			
		||||
       width="149"
 | 
			
		||||
       id="rect4615-2-8-4"
 | 
			
		||||
       style="fill:#4d82be;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-3-3"
 | 
			
		||||
       y="501.93918"
 | 
			
		||||
       x="1908.0701"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="501.93918"
 | 
			
		||||
         x="1908.0701"
 | 
			
		||||
         id="tspan4365-6-3-90-7"
 | 
			
		||||
         sodipodi:role="line">VideoCapture</tspan></text>
 | 
			
		||||
    <rect
 | 
			
		||||
       ry="10"
 | 
			
		||||
       rx="9.3800001"
 | 
			
		||||
       y="483.86713"
 | 
			
		||||
       x="2003.6537"
 | 
			
		||||
       height="29"
 | 
			
		||||
       width="149"
 | 
			
		||||
       id="rect4615-2-9-5-7"
 | 
			
		||||
       style="fill:#4d82be;fill-opacity:1;stroke:#000000;stroke-width:0.99999982;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-8-1-8"
 | 
			
		||||
       y="503.1019"
 | 
			
		||||
       x="2077.719"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="503.1019"
 | 
			
		||||
         x="2077.719"
 | 
			
		||||
         id="tspan4365-6-3-9-0-6"
 | 
			
		||||
         sodipodi:role="line">VideoWriter</tspan></text>
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-3-3-4"
 | 
			
		||||
       y="534.48248"
 | 
			
		||||
       x="1887.043"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="534.48248"
 | 
			
		||||
         x="1887.043"
 | 
			
		||||
         id="tspan4365-6-3-90-7-2"
 | 
			
		||||
         sodipodi:role="line">Camera</tspan></text>
 | 
			
		||||
    <text
 | 
			
		||||
       sodipodi:linespacing="125%"
 | 
			
		||||
       id="text4363-5-2-3-3-6"
 | 
			
		||||
       y="526.79205"
 | 
			
		||||
       x="2044.752"
 | 
			
		||||
       style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:Verdana;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       transform="scale(1.0001622,0.99983783)"><tspan
 | 
			
		||||
         y="526.79205"
 | 
			
		||||
         x="2044.752"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan4367">File or URL stream</tspan><tspan
 | 
			
		||||
         y="542.41705"
 | 
			
		||||
         x="2044.752"
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan4371">+ fourcc codec</tspan></text>
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 37 KiB  | 
							
								
								
									
										97
									
								
								3rdparty/opencv-4.5.4/modules/videoio/doc/videoio_overview.markdown
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								3rdparty/opencv-4.5.4/modules/videoio/doc/videoio_overview.markdown
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,97 @@
 | 
			
		||||
Video I/O with OpenCV Overview {#videoio_overview}
 | 
			
		||||
===================================
 | 
			
		||||
 | 
			
		||||
### See also:
 | 
			
		||||
  - @ref videoio "Video I/O Code Reference"
 | 
			
		||||
  - Tutorials: @ref tutorial_table_of_content_app
 | 
			
		||||
 | 
			
		||||
General Information
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
The OpenCV @ref videoio module is a set of classes and functions to read and write video or images sequence.
 | 
			
		||||
 | 
			
		||||
Basically, the module provides the cv::VideoCapture and cv::VideoWriter classes as 2-layer interface to many video
 | 
			
		||||
I/O APIs used as backend.
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
Some backends such as Direct Show (DSHOW), Microsoft Media Foundation (MSMF),
 | 
			
		||||
Video 4 Linux (V4L), etc... are interfaces to the video I/O library provided by the operating system.
 | 
			
		||||
 | 
			
		||||
Some others backends like OpenNI2 for Kinect, Intel Perceptual Computing SDK, GStreamer,
 | 
			
		||||
XIMEA Camera API, etc...  are interfaces to proprietary drivers or to external library.
 | 
			
		||||
 | 
			
		||||
See the list of supported backends here: cv::VideoCaptureAPIs
 | 
			
		||||
 | 
			
		||||
@warning Some backends are experimental use them at your own risk
 | 
			
		||||
@note Each backend supports devices properties (cv::VideoCaptureProperties) in a different way or might not support any property at all.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Select the backend at runtime
 | 
			
		||||
-----------------------------
 | 
			
		||||
 | 
			
		||||
OpenCV automatically selects and uses first available backend (`apiPreference=cv::CAP_ANY`).
 | 
			
		||||
 | 
			
		||||
As advanced usage you can select the backend to use at runtime. Currently this option is
 | 
			
		||||
available only with %VideoCapture.
 | 
			
		||||
 | 
			
		||||
For example to grab from default camera using Direct Show as backend
 | 
			
		||||
 | 
			
		||||
```cpp
 | 
			
		||||
//declare a capture object
 | 
			
		||||
cv::VideoCapture cap(0, cv::CAP_DSHOW);
 | 
			
		||||
 | 
			
		||||
//or specify the apiPreference with open
 | 
			
		||||
cap.open(0, cv::CAP_DSHOW);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
If you want to grab from a file using the Direct Show as backend:
 | 
			
		||||
 | 
			
		||||
```cpp
 | 
			
		||||
//declare a capture object
 | 
			
		||||
cv::VideoCapture cap(filename, cv::CAP_DSHOW);
 | 
			
		||||
 | 
			
		||||
//or specify the apiPreference with open
 | 
			
		||||
cap.open(filename, cv::CAP_DSHOW);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
@sa cv::VideoCapture::open() , cv::VideoCapture::VideoCapture()
 | 
			
		||||
 | 
			
		||||
#### How to enable backends
 | 
			
		||||
 | 
			
		||||
There are two kinds of videoio backends: built-in backends and plugins which will be loaded at runtime (since OpenCV 4.1.0). Use functions cv::videoio_registry::getBackends, cv::videoio_registry::hasBackend and cv::videoio_registry::getBackendName to check actual presence of backend during runtime.
 | 
			
		||||
 | 
			
		||||
To enable built-in videoio backends:
 | 
			
		||||
  1. Enable corresponding CMake option, e.g. `-DWITH_GSTREAMER=ON`
 | 
			
		||||
  2. Rebuild OpenCV
 | 
			
		||||
 | 
			
		||||
To enable dynamically-loaded videoio backend (currently supported: GStreamer and FFmpeg on Linux, MediaSDK on Linux and Windows):
 | 
			
		||||
  1. Enable backend and add it to the list of plugins: `-DWITH_GSTREAMER=ON -DVIDEOIO_PLUGIN_LIST=gstreamer` CMake options
 | 
			
		||||
  2. Rebuild OpenCV
 | 
			
		||||
  3. Check that `libopencv_videoio_gstreamer.so` library exists in the `lib` directory
 | 
			
		||||
 | 
			
		||||
@note Don't forget to clean CMake cache when switching between these two modes
 | 
			
		||||
 | 
			
		||||
#### Use 3rd party drivers or cameras
 | 
			
		||||
 | 
			
		||||
Many industrial cameras or some video I/O devices don't provide standard driver interfaces
 | 
			
		||||
for the operating system. Thus you can't use  VideoCapture or VideoWriter with these devices.
 | 
			
		||||
 | 
			
		||||
To get access to their devices, manufactures provide their own C++ API and library that you have to
 | 
			
		||||
include and link with your OpenCV application.
 | 
			
		||||
 | 
			
		||||
It is a common case that these libraries read/write images from/to a memory buffer. If it so, it is
 | 
			
		||||
possible to make a `Mat` header for memory buffer (user-allocated data) and process it
 | 
			
		||||
in-place using OpenCV functions. See cv::Mat::Mat() for more details.
 | 
			
		||||
 | 
			
		||||
The FFmpeg library
 | 
			
		||||
------------------
 | 
			
		||||
 | 
			
		||||
OpenCV can use the FFmpeg library (http://ffmpeg.org/) as backend to record, convert and stream audio and video.
 | 
			
		||||
FFmpeg is a complete, cross-reference solution. If you enable FFmpeg while configuring OpenCV than
 | 
			
		||||
CMake will download and install the binaries in `OPENCV_SOURCE_CODE/3rdparty/ffmpeg/`. To use
 | 
			
		||||
FFmpeg at runtime, you must deploy the FFmpeg binaries with your application.
 | 
			
		||||
 | 
			
		||||
@note FFmpeg is licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later.
 | 
			
		||||
See `OPENCV_SOURCE_CODE/3rdparty/ffmpeg/readme.txt` and http://ffmpeg.org/legal.html for details and
 | 
			
		||||
licensing information
 | 
			
		||||
		Reference in New Issue
	
	Block a user