Camera - Add: Event OnOneVideoFrameRequested. Add Class PlateDetector. Add files plate.xml plateLong.xml

This commit is contained in:
DucDangAnh 2020-06-17 14:15:31 +07:00
parent a2aa40a59c
commit 082836f370
11 changed files with 1607 additions and 109 deletions

View File

@ -85,7 +85,7 @@
<Compile Include="LaneOut.Designer.cs">
<DependentUpon>LaneOut.cs</DependentUpon>
</Compile>
<Compile Include="Processor.cs" />
<Compile Include="PlateDetector.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Util.cs" />
@ -122,6 +122,14 @@
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Content Include="plate.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="plateLong.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>

View File

@ -14,7 +14,7 @@ namespace AIParkingApplication
InitializeComponent();
string url = @"rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"; // @"C:\HS_test.mp4"; // @"rtsp://admin:admin@192.168.2.10"
camera = new Camera(CameraType.Plate, url);
camera = new Camera(url);
camera.OnVideoFrameReceived += Camera_OnVideoFrameReceived;
camera.Startcapture();
//Thread thread1 = new Thread(ShowFrame);

View File

@ -1,5 +1,4 @@
using OpenCvSharp;
using System.Collections.Generic;
using System.Threading;
namespace AIParkingApplication
@ -8,20 +7,19 @@ namespace AIParkingApplication
public class Camera
{
private string streamUrl;
private CameraType cameraType;
private bool isCapturing;
private object lockSyncObject;
public Queue<Mat> VideoFrames { get; set; }
private volatile bool isFrameRequested;
public event CameraEvent OnVideoFrameReceived;
public event CameraEvent OnOneVideoFrameRequested;
public Camera(CameraType cameraType, string streamUrl)
public Camera(string streamUrl)
{
this.cameraType = cameraType;
this.streamUrl = streamUrl;
this.isCapturing = true;
this.isFrameRequested = false;
lockSyncObject = new object();
VideoFrames = new Queue<Mat>();
}
public void Startcapture()
@ -31,6 +29,11 @@ namespace AIParkingApplication
readVideoStreamThread.Start();
}
public void RequestCaptureOneFrame()
{
isFrameRequested = true;
}
public void ReadVideoStream()
{
VideoCapture videoCapture = new VideoCapture();
@ -51,8 +54,12 @@ namespace AIParkingApplication
if (videoCapture.Read(videoFrame) && videoFrame.Width > 0 && videoFrame.Height > 0)
{
//VideoFrames.Enqueue(videoFrame);
OnVideoFrameReceived?.Invoke(videoFrame);
if (isFrameRequested)
{
OnOneVideoFrameRequested?.Invoke(videoFrame);
isFrameRequested = false;
}
}
}
}
@ -65,10 +72,4 @@ namespace AIParkingApplication
}
}
}
public enum CameraType
{
Vehicle,
Plate
}
}

View File

@ -40,6 +40,7 @@
this.lblCardType = new System.Windows.Forms.Label();
this.lblCardNumber = new System.Windows.Forms.Label();
this.grbCardInformation = new System.Windows.Forms.GroupBox();
this.button1 = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxPlateImage)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxPlateVideo)).BeginInit();
this.grbPlateCamera.SuspendLayout();
@ -54,6 +55,7 @@
this.pictureBoxPlateImage.Location = new System.Drawing.Point(263, 23);
this.pictureBoxPlateImage.Name = "pictureBoxPlateImage";
this.pictureBoxPlateImage.Size = new System.Drawing.Size(250, 250);
this.pictureBoxPlateImage.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBoxPlateImage.TabIndex = 0;
this.pictureBoxPlateImage.TabStop = false;
//
@ -62,6 +64,7 @@
this.pictureBoxPlateVideo.Location = new System.Drawing.Point(6, 23);
this.pictureBoxPlateVideo.Name = "pictureBoxPlateVideo";
this.pictureBoxPlateVideo.Size = new System.Drawing.Size(250, 250);
this.pictureBoxPlateVideo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBoxPlateVideo.TabIndex = 0;
this.pictureBoxPlateVideo.TabStop = false;
//
@ -82,6 +85,7 @@
this.pictureBoxOverviewImage.Location = new System.Drawing.Point(263, 24);
this.pictureBoxOverviewImage.Name = "pictureBoxOverviewImage";
this.pictureBoxOverviewImage.Size = new System.Drawing.Size(250, 250);
this.pictureBoxOverviewImage.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBoxOverviewImage.TabIndex = 0;
this.pictureBoxOverviewImage.TabStop = false;
//
@ -90,6 +94,7 @@
this.pictureBoxOverviewVideo.Location = new System.Drawing.Point(6, 24);
this.pictureBoxOverviewVideo.Name = "pictureBoxOverviewVideo";
this.pictureBoxOverviewVideo.Size = new System.Drawing.Size(250, 250);
this.pictureBoxOverviewVideo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBoxOverviewVideo.TabIndex = 0;
this.pictureBoxOverviewVideo.TabStop = false;
//
@ -147,10 +152,21 @@
this.grbCardInformation.TabStop = false;
this.grbCardInformation.Text = "THÔNG TIN THẺ";
//
// button1
//
this.button1.Location = new System.Drawing.Point(421, 32);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 14;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// LaneIn
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.button1);
this.Controls.Add(this.grbPlateCamera);
this.Controls.Add(this.grbOverviewCamera);
this.Controls.Add(this.lblLaneLabel);
@ -184,5 +200,6 @@
private System.Windows.Forms.Label lblCardType;
private System.Windows.Forms.Label lblCardNumber;
private System.Windows.Forms.GroupBox grbCardInformation;
private System.Windows.Forms.Button button1;
}
}

View File

@ -1,20 +1,78 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenCvSharp;
using OpenCvSharp.Extensions;
namespace AIParkingApplication
{
public partial class LaneIn : UserControl
{
private Camera overviewCamera;
private Camera plateCamera;
private PlateDetector plateDetector;
public LaneIn()
{
InitializeComponent();
string overviewCameraVideo = @"rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"; //@"C:\HS_test.mp4"
string plateCameraVideo = @"C:\HS_test.mp4";
overviewCamera = new Camera(overviewCameraVideo);
plateCamera = new Camera(plateCameraVideo);
plateCamera.OnVideoFrameReceived += PlateCameraOnVideoFrameReceived;
plateCamera.OnOneVideoFrameRequested += PlateCamera_OnOneVideoFrameRequested; ;
overviewCamera.OnVideoFrameReceived += OverviewCameraOnVideoFrameReceived;
overviewCamera.OnOneVideoFrameRequested += OverviewCamera_OnOneVideoFrameRequested;
overviewCamera.Startcapture();
plateCamera.Startcapture();
plateDetector = new PlateDetector(PlateType.Square, PlateDetectorConstant.MIN_SIZE_DEFAULT_SQUARE_PLATE, PlateDetectorConstant.MAX_SIZE_DEFAULT_SQUARE_PLATE, PlateDetectorConstant.SCALE_FACTOR_DEFAULT_SQUARE_PLATE, PlateDetectorConstant.MIN_NEIGHBORS_DEFAULT_SQUARE_PLATE);
}
private void OverviewCamera_OnOneVideoFrameRequested(Mat videoFrame)
{
pictureBoxOverviewImage.Invoke(new Action(() =>
{
pictureBoxOverviewImage.Image?.Dispose();
pictureBoxOverviewImage.Image = videoFrame.ToBitmap();
}));
}
private void PlateCamera_OnOneVideoFrameRequested(Mat videoFrame)
{
Cv2.Resize(videoFrame, videoFrame, new Size(1280, 720));
Mat result = plateDetector.DetectPlate(videoFrame);
pictureBoxPlateImage.Invoke(new Action(() =>
{
pictureBoxPlateImage.Image?.Dispose();
pictureBoxPlateImage.Image = result.ToBitmap();
}));
}
private void OverviewCameraOnVideoFrameReceived(Mat videoFrame)
{
pictureBoxOverviewVideo.Invoke(new Action(() =>
{
pictureBoxOverviewVideo.Image?.Dispose();
pictureBoxOverviewVideo.Image = videoFrame.ToBitmap();
}));
}
private void PlateCameraOnVideoFrameReceived(Mat videoFrame)
{
pictureBoxPlateVideo.Invoke(new Action(() =>
{
pictureBoxPlateVideo.Image?.Dispose();
pictureBoxPlateVideo.Image = videoFrame.ToBitmap();
}));
}
private void button1_Click(object sender, EventArgs e)
{
this.plateCamera.RequestCaptureOneFrame();
this.overviewCamera.RequestCaptureOneFrame();
}
}
}

View File

@ -60,15 +60,15 @@
//
this.pictureBox5.Location = new System.Drawing.Point(6, 23);
this.pictureBox5.Name = "pictureBox5";
this.pictureBox5.Size = new System.Drawing.Size(250, 250);
this.pictureBox5.Size = new System.Drawing.Size(200, 200);
this.pictureBox5.TabIndex = 0;
this.pictureBox5.TabStop = false;
//
// pictureBox6
//
this.pictureBox6.Location = new System.Drawing.Point(5, 331);
this.pictureBox6.Location = new System.Drawing.Point(6, 296);
this.pictureBox6.Name = "pictureBox6";
this.pictureBox6.Size = new System.Drawing.Size(250, 250);
this.pictureBox6.Size = new System.Drawing.Size(200, 200);
this.pictureBox6.TabIndex = 0;
this.pictureBox6.TabStop = false;
//
@ -77,9 +77,9 @@
this.grbPlateRefernce.Controls.Add(this.pictureBox6);
this.grbPlateRefernce.Controls.Add(this.pictureBox5);
this.grbPlateRefernce.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.grbPlateRefernce.Location = new System.Drawing.Point(540, 166);
this.grbPlateRefernce.Location = new System.Drawing.Point(445, 171);
this.grbPlateRefernce.Name = "grbPlateRefernce";
this.grbPlateRefernce.Size = new System.Drawing.Size(261, 592);
this.grbPlateRefernce.Size = new System.Drawing.Size(212, 510);
this.grbPlateRefernce.TabIndex = 9;
this.grbPlateRefernce.TabStop = false;
this.grbPlateRefernce.Text = "THAM CHIẾU BIỂN SỐ VÀO";
@ -88,15 +88,15 @@
//
this.pictureBox2.Location = new System.Drawing.Point(6, 23);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(250, 250);
this.pictureBox2.Size = new System.Drawing.Size(200, 200);
this.pictureBox2.TabIndex = 0;
this.pictureBox2.TabStop = false;
//
// pictureBox1
//
this.pictureBox1.Location = new System.Drawing.Point(263, 23);
this.pictureBox1.Location = new System.Drawing.Point(212, 23);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(250, 250);
this.pictureBox1.Size = new System.Drawing.Size(200, 200);
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
//
@ -105,9 +105,9 @@
this.grbPlateCamera.Controls.Add(this.pictureBox1);
this.grbPlateCamera.Controls.Add(this.pictureBox2);
this.grbPlateCamera.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.grbPlateCamera.Location = new System.Drawing.Point(15, 166);
this.grbPlateCamera.Location = new System.Drawing.Point(15, 171);
this.grbPlateCamera.Name = "grbPlateCamera";
this.grbPlateCamera.Size = new System.Drawing.Size(519, 284);
this.grbPlateCamera.Size = new System.Drawing.Size(424, 238);
this.grbPlateCamera.TabIndex = 7;
this.grbPlateCamera.TabStop = false;
this.grbPlateCamera.Text = "CAMERA BIỂN SỐ";
@ -116,15 +116,15 @@
//
this.pictureBox4.Location = new System.Drawing.Point(6, 24);
this.pictureBox4.Name = "pictureBox4";
this.pictureBox4.Size = new System.Drawing.Size(250, 250);
this.pictureBox4.Size = new System.Drawing.Size(200, 200);
this.pictureBox4.TabIndex = 0;
this.pictureBox4.TabStop = false;
//
// pictureBox3
//
this.pictureBox3.Location = new System.Drawing.Point(263, 24);
this.pictureBox3.Location = new System.Drawing.Point(212, 24);
this.pictureBox3.Name = "pictureBox3";
this.pictureBox3.Size = new System.Drawing.Size(250, 250);
this.pictureBox3.Size = new System.Drawing.Size(200, 200);
this.pictureBox3.TabIndex = 0;
this.pictureBox3.TabStop = false;
//
@ -133,9 +133,9 @@
this.grbOverviewCamera.Controls.Add(this.pictureBox3);
this.grbOverviewCamera.Controls.Add(this.pictureBox4);
this.grbOverviewCamera.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.grbOverviewCamera.Location = new System.Drawing.Point(15, 474);
this.grbOverviewCamera.Location = new System.Drawing.Point(15, 443);
this.grbOverviewCamera.Name = "grbOverviewCamera";
this.grbOverviewCamera.Size = new System.Drawing.Size(519, 284);
this.grbOverviewCamera.Size = new System.Drawing.Size(424, 238);
this.grbOverviewCamera.TabIndex = 6;
this.grbOverviewCamera.TabStop = false;
this.grbOverviewCamera.Text = "CAMERA TOÀN CẢNH";
@ -146,7 +146,7 @@
| System.Windows.Forms.AnchorStyles.Right)));
this.lblLaneLabel.AutoSize = true;
this.lblLaneLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 26.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblLaneLabel.Location = new System.Drawing.Point(329, 20);
this.lblLaneLabel.Location = new System.Drawing.Point(262, 22);
this.lblLaneLabel.Name = "lblLaneLabel";
this.lblLaneLabel.Size = new System.Drawing.Size(141, 39);
this.lblLaneLabel.TabIndex = 5;
@ -164,7 +164,7 @@
// lblMoneyAmount
//
this.lblMoneyAmount.AutoSize = true;
this.lblMoneyAmount.Location = new System.Drawing.Point(266, 31);
this.lblMoneyAmount.Location = new System.Drawing.Point(209, 31);
this.lblMoneyAmount.Name = "lblMoneyAmount";
this.lblMoneyAmount.Size = new System.Drawing.Size(54, 18);
this.lblMoneyAmount.TabIndex = 0;
@ -187,7 +187,7 @@
this.grbCardInformation.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.grbCardInformation.Location = new System.Drawing.Point(15, 69);
this.grbCardInformation.Name = "grbCardInformation";
this.grbCardInformation.Size = new System.Drawing.Size(786, 91);
this.grbCardInformation.Size = new System.Drawing.Size(642, 91);
this.grbCardInformation.TabIndex = 8;
this.grbCardInformation.TabStop = false;
this.grbCardInformation.Text = "THÔNG TIN THẺ";
@ -202,7 +202,7 @@
this.Controls.Add(this.grbOverviewCamera);
this.Controls.Add(this.grbPlateCamera);
this.Name = "LaneOut";
this.Size = new System.Drawing.Size(817, 768);
this.Size = new System.Drawing.Size(671, 694);
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).EndInit();
this.grbPlateRefernce.ResumeLayout(false);

View File

@ -120,52 +120,7 @@
<metadata name="backgroundWorker2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>176, 17</value>
</metadata>
<metadata name="pictureBox5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pictureBox6.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="grbPlateRefernce.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pictureBox2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pictureBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="grbPlateCamera.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pictureBox4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pictureBox3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="grbOverviewCamera.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>12, 17</value>
</metadata>
<metadata name="lblLaneLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lblCardNumber.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lblMoneyAmount.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lblCardType.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="grbCardInformation.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@ -0,0 +1,68 @@
using OpenCvSharp;
using System;
using System.Linq;
namespace AIParkingApplication
{
public class PlateDetector
{
private PlateType plateType;
private Size minSizePlate;
private Size maxSizePlate;
private double scaleFactor;
private int minNeighbors;
private CascadeClassifier plateCascadeClassifier;
public PlateDetector(PlateType plateType, Size minSizePlate, Size maxSizePlate, double scaleFactor, int minNeighbors)
{
this.plateType = plateType;
this.minSizePlate = minSizePlate;
this.maxSizePlate = maxSizePlate;
this.scaleFactor = scaleFactor;
this.minNeighbors = minNeighbors;
plateCascadeClassifier = new CascadeClassifier(this.plateType == PlateType.Square ? "plate.xml" : "plateLong.xml");
}
public Mat DetectPlate(Mat frame)
{
Rect[] plateRectsDetected = plateCascadeClassifier.DetectMultiScale(frame, scaleFactor, minNeighbors, HaarDetectionType.ScaleImage, minSizePlate, maxSizePlate);
Console.WriteLine("Plate Detected Length: " + plateRectsDetected.Length);
if (plateRectsDetected.Length > 0)
{
Mat plateImage = GetBiggestPlate(plateRectsDetected, frame);
return plateImage;
}
else
{
return frame;
}
}
private Mat GetBiggestPlate(Rect[] plateRects, Mat frame)
{
Rect biggestPlateRect = plateRects.OrderByDescending(x => x.Width).FirstOrDefault();
Console.WriteLine($"GetBiggestPlate - Width: {biggestPlateRect.Width}\tHeight: {biggestPlateRect.Height}");
Mat plateImage = frame[biggestPlateRect];
return plateImage;
}
}
public enum PlateType
{
Square,
Long
}
public static class PlateDetectorConstant
{
public const double SCALE_FACTOR_DEFAULT_SQUARE_PLATE = 1.03;
public static int MIN_NEIGHBORS_DEFAULT_SQUARE_PLATE = 2;
public static Size MIN_SIZE_DEFAULT_SQUARE_PLATE = new Size(80, 75);
public static Size MAX_SIZE_DEFAULT_SQUARE_PLATE = new Size(450, 400);
public static double SCALE_FACTOR_DEFAULT_LONG_PLATE = 1.5;
public static int MIN_NEIGHBORS_DEFAULT_LONG_PLATE = 5;
public static Size MIN_SIZE_DEFAULT_LONG_PLATE = new Size(120, 40);
public static Size MAX_SIZE_DEFAULT_LONG_PLATE = new Size(660, 220);
}
}

View File

@ -1,23 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AIParkingApplication
{
public class Processor
{
private Camera camera;
public Processor()
{
camera = new Camera(CameraType.Plate, @"rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov");
camera.OnVideoFrameReceived += Camera_OnVideoFrameReceived;
}
private void Camera_OnVideoFrameReceived(OpenCvSharp.Mat videoFrame)
{
}
}
}

View File

@ -0,0 +1,586 @@
<?xml version="1.0"?>
<opencv_storage>
<cascade>
<stageType>BOOST</stageType>
<featureType>LBP</featureType>
<height>20</height>
<width>26</width>
<stageParams>
<boostType>GAB</boostType>
<minHitRate>9.9500000476837158e-01</minHitRate>
<maxFalseAlarm>4.0000000596046448e-01</maxFalseAlarm>
<weightTrimRate>9.4999999999999996e-01</weightTrimRate>
<maxDepth>1</maxDepth>
<maxWeakCount>100</maxWeakCount></stageParams>
<featureParams>
<maxCatCount>256</maxCatCount>
<featSize>1</featSize></featureParams>
<stageNum>10</stageNum>
<stages>
<!-- stage 0 -->
<_>
<maxWeakCount>3</maxWeakCount>
<stageThreshold>-1.1533834934234619e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 1 -286265618 -1 -1 -1 -268439569 -1 -4113 -1</internalNodes>
<leafValues>
-8.9617276191711426e-01 7.0781403779983521e-01</leafValues></_>
<_>
<internalNodes>
0 -1 17 -253693700 -1 -67117057 -1 -795288321 -4456449 -1 -1</internalNodes>
<leafValues>
-8.7871271371841431e-01 7.0107048749923706e-01</leafValues></_>
<_>
<internalNodes>
0 -1 53 -768 -44171515 -129 -209 -2621577 -8421601 -129 -193</internalNodes>
<leafValues>
-8.4404122829437256e-01 6.2150198221206665e-01</leafValues></_></weakClassifiers></_>
<!-- stage 1 -->
<_>
<maxWeakCount>3</maxWeakCount>
<stageThreshold>-1.0063103437423706e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 43 1363669915 2002778111 -2049 -1 2002778111 1969225727
-1 -1</internalNodes>
<leafValues>
-8.2045638561248779e-01 6.9873499870300293e-01</leafValues></_>
<_>
<internalNodes>
0 -1 26 -586621732 -574759684 -537010723 -537013028
-553858818 -536883457 -262145 -12833</internalNodes>
<leafValues>
-7.9035413265228271e-01 6.3581717014312744e-01</leafValues></_>
<_>
<internalNodes>
0 -1 9 -707469827 -2818049 -1 -1 268488920 -61800449 -131585
-1</internalNodes>
<leafValues>
-7.8018671274185181e-01 6.0450017452239990e-01</leafValues></_></weakClassifiers></_>
<!-- stage 2 -->
<_>
<maxWeakCount>5</maxWeakCount>
<stageThreshold>-1.2496367692947388e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 29 -17827925 -1073557246 -1068304605 -800000221
-708356793 1346852097 -134225921 -67108865</internalNodes>
<leafValues>
-8.1272137165069580e-01 5.5393642187118530e-01</leafValues></_>
<_>
<internalNodes>
0 -1 36 -2 -657410 -539099137 -1025 -167903234 -168427524
1976958975 -134348801</internalNodes>
<leafValues>
-7.8099626302719116e-01 5.8227193355560303e-01</leafValues></_>
<_>
<internalNodes>
0 -1 2 -286265362 -129 -270799138 -1 -268439569 -4097
-268439569 -4097</internalNodes>
<leafValues>
-7.8703510761260986e-01 5.3461396694183350e-01</leafValues></_>
<_>
<internalNodes>
0 -1 55 -249 -1 -16777342 -33554433 -2097403 2012739455
-218106112 -201326593</internalNodes>
<leafValues>
-7.7377015352249146e-01 5.4071652889251709e-01</leafValues></_>
<_>
<internalNodes>
0 -1 19 -5711624 -101066504 -541261827 -33950243 -1158086914
-4474117 -1163855170 -68617745</internalNodes>
<leafValues>
-7.3124963045120239e-01 5.8329415321350098e-01</leafValues></_></weakClassifiers></_>
<!-- stage 3 -->
<_>
<maxWeakCount>5</maxWeakCount>
<stageThreshold>-1.4086114168167114e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 30 -1298 2147483647 1476362239 2147483647 1608515583
2147483647 2147483647 -1</internalNodes>
<leafValues>
-8.3827412128448486e-01 4.5363041758537292e-01</leafValues></_>
<_>
<internalNodes>
0 -1 49 -8388864 -1 -1 -1 -1 -65 -1 -1</internalNodes>
<leafValues>
-8.2543706893920898e-01 4.5980849862098694e-01</leafValues></_>
<_>
<internalNodes>
0 -1 10 92213759 2145375743 2147483647 -2097153 1426018559
-41473 -1 -1</internalNodes>
<leafValues>
-7.3374873399734497e-01 4.9772876501083374e-01</leafValues></_>
<_>
<internalNodes>
0 -1 47 -204737814 1363276010 1342238850 1900212778 -17
-792035350 -34078737 -1</internalNodes>
<leafValues>
-7.4697893857955933e-01 4.8449227213859558e-01</leafValues></_>
<_>
<internalNodes>
0 -1 3 -18 -3152145 1860887650 -286851486 -1 -33556481
-134250497 -2337</internalNodes>
<leafValues>
-7.2712129354476929e-01 4.8087349534034729e-01</leafValues></_></weakClassifiers></_>
<!-- stage 4 -->
<_>
<maxWeakCount>5</maxWeakCount>
<stageThreshold>-1.0556484460830688e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 37 -134217777 -2098613 -134220289 -1 1967650767
-145228849 -136841217 -1025</internalNodes>
<leafValues>
-6.6782265901565552e-01 6.0927152633666992e-01</leafValues></_>
<_>
<internalNodes>
0 -1 12 -1 -241668 -1 -1 -1735853316 -1532420 737734655 -1</internalNodes>
<leafValues>
-5.8931344747543335e-01 6.1160296201705933e-01</leafValues></_>
<_>
<internalNodes>
0 -1 57 -17 -268437521 -16779270 -218103809 1468004102
84367174 -134744510 2012739583</internalNodes>
<leafValues>
-6.8723016977310181e-01 5.0909173488616943e-01</leafValues></_>
<_>
<internalNodes>
0 -1 13 -267863816 -13502288 -1092165889 -4328963 -89326854
-4261199 -91030790 -6630152</internalNodes>
<leafValues>
-7.2379958629608154e-01 4.8905405402183533e-01</leafValues></_>
<_>
<internalNodes>
0 -1 24 1072638895 -36865 -37752849 -769 -16385 -360961
-33701889 -1</internalNodes>
<leafValues>
-7.4188953638076782e-01 4.1619545221328735e-01</leafValues></_></weakClassifiers></_>
<!-- stage 5 -->
<_>
<maxWeakCount>7</maxWeakCount>
<stageThreshold>-1.4722430706024170e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 42 -135790841 -1048593 -1 -3145745 -17 -1 -1 -1052689</internalNodes>
<leafValues>
-6.2450361251831055e-01 6.3627439737319946e-01</leafValues></_>
<_>
<internalNodes>
0 -1 4 -4114 -1052930 -286331154 -17895682 -1 -13313 -1 -1</internalNodes>
<leafValues>
-7.7522820234298706e-01 4.0318658947944641e-01</leafValues></_>
<_>
<internalNodes>
0 -1 44 -537133092 -13238275 1565873492 1968526613 -67108865
-1025 -4194820 -1</internalNodes>
<leafValues>
-7.3075193166732788e-01 4.2476141452789307e-01</leafValues></_>
<_>
<internalNodes>
0 -1 21 -67108865 -4205587 1560599965 1560613893 -1077936129
-1073741825 33607567 131072</internalNodes>
<leafValues>
-7.4410229921340942e-01 4.1098541021347046e-01</leafValues></_>
<_>
<internalNodes>
0 -1 23 -1068548093 1342686727 -1065918345 -8391425
-2147236537 -1073291977 -800852225 -33556481</internalNodes>
<leafValues>
-6.0589480400085449e-01 4.9608632922172546e-01</leafValues></_>
<_>
<internalNodes>
0 -1 54 -253 -129 -67109372 -134219905 -249 2004877183 -171
-1</internalNodes>
<leafValues>
-6.7266684770584106e-01 4.2201626300811768e-01</leafValues></_>
<_>
<internalNodes>
0 -1 8 2127363838 -11734155 -1048577 -1 -2000637956
-662636716 -1048577 -1</internalNodes>
<leafValues>
-6.5633094310760498e-01 4.0780669450759888e-01</leafValues></_></weakClassifiers></_>
<!-- stage 6 -->
<_>
<maxWeakCount>7</maxWeakCount>
<stageThreshold>-2.1008496284484863e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 50 -135266305 -792657938 -201326593 -238551102
2013263871 1078263436 -1 -170917937</internalNodes>
<leafValues>
-6.8733102083206177e-01 4.7597673535346985e-01</leafValues></_>
<_>
<internalNodes>
0 -1 40 -2 -33687553 -537097032 -2 -131076 -572729860
-161028 -131073</internalNodes>
<leafValues>
-6.4979684352874756e-01 4.7923293709754944e-01</leafValues></_>
<_>
<internalNodes>
0 -1 39 -487856446 -218630782 -421532073 -34604121
-489691505 -822356446 -421007870 -1058013438</internalNodes>
<leafValues>
-7.0970761775970459e-01 3.9270293712615967e-01</leafValues></_>
<_>
<internalNodes>
0 -1 0 -353374225 -1 -402653185 -12353 1342173167 -805311553
-805315073 -805319185</internalNodes>
<leafValues>
-5.0839012861251831e-01 5.5656588077545166e-01</leafValues></_>
<_>
<internalNodes>
0 -1 16 16449791 2147182079 536567807 2132483455 184201215
-274946 150679547 422206907</internalNodes>
<leafValues>
-6.8923377990722656e-01 4.1731363534927368e-01</leafValues></_>
<_>
<internalNodes>
0 -1 15 -3670563 -931084224 2131197951 -2097185 -754941824
-327151520 34251003 -1052673</internalNodes>
<leafValues>
-5.9623908996582031e-01 4.0606793761253357e-01</leafValues></_>
<_>
<internalNodes>
0 -1 45 -8411137 993779199 2101281572 -1413751833 1431655929
1024947691 1971279356 2147483647</internalNodes>
<leafValues>
-5.5248874425888062e-01 4.5133835077285767e-01</leafValues></_></weakClassifiers></_>
<!-- stage 7 -->
<_>
<maxWeakCount>7</maxWeakCount>
<stageThreshold>-1.2859066724777222e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 20 -1055313 -39460881 -2561 -131073 -642147911
-101591557 469735931 -82224641</internalNodes>
<leafValues>
-7.3027801513671875e-01 3.4798878431320190e-01</leafValues></_>
<_>
<internalNodes>
0 -1 27 -34021892 -467460 498605565 1564286461 -1346848326
-1078288904 262840255 -550887971</internalNodes>
<leafValues>
-5.9538054466247559e-01 4.8435747623443604e-01</leafValues></_>
<_>
<internalNodes>
0 -1 28 -2249 -802955008 -529336541 -1066340095 -45746361
1946505472 -35651601 -67110913</internalNodes>
<leafValues>
-5.5642986297607422e-01 5.2304297685623169e-01</leafValues></_>
<_>
<internalNodes>
0 -1 35 1409532091 1442838527 2013255679 1039663103
-645922817 1568538619 -8388865 1545535487</internalNodes>
<leafValues>
-5.8485323190689087e-01 4.4801971316337585e-01</leafValues></_>
<_>
<internalNodes>
0 -1 52 -250 2004350783 -129 -4984009 -264193 -129 -1
2066382651</internalNodes>
<leafValues>
-6.2398934364318848e-01 4.2256209254264832e-01</leafValues></_>
<_>
<internalNodes>
0 -1 46 -144182582 1900279106 1078117090 1963194351
-212869430 -683416250 -67113253 -1</internalNodes>
<leafValues>
-6.6374325752258301e-01 3.4123694896697998e-01</leafValues></_>
<_>
<internalNodes>
0 -1 5 -327954 -1050641 -297734418 -19070993 -9177089
-534018 -12255265 -1</internalNodes>
<leafValues>
-5.9005373716354370e-01 4.3091443181037903e-01</leafValues></_></weakClassifiers></_>
<!-- stage 8 -->
<_>
<maxWeakCount>8</maxWeakCount>
<stageThreshold>-2.1614072322845459e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 18 -458753 -1179059208 -54788097 -8705 -4473857
-1078263809 -1157955585 -1159009281</internalNodes>
<leafValues>
-6.6230607032775879e-01 4.1228213906288147e-01</leafValues></_>
<_>
<internalNodes>
0 -1 14 293033975 -32769 -1 -8193 469759999 -4097 1073741823
-1</internalNodes>
<leafValues>
-6.1281687021255493e-01 4.3206200003623962e-01</leafValues></_>
<_>
<internalNodes>
0 -1 38 -135268465 -136857973 -134760965 -5 -145246257
-184027185 -134219809 -1</internalNodes>
<leafValues>
-4.8115372657775879e-01 5.6391078233718872e-01</leafValues></_>
<_>
<internalNodes>
0 -1 41 -1 -1261570 -67190788 -1261636 -139779 2138865597
-393732 -1</internalNodes>
<leafValues>
-4.2420604825019836e-01 5.8454400300979614e-01</leafValues></_>
<_>
<internalNodes>
0 -1 56 -135268537 1936189303 -604504193 1618466663
-412092665 2002220887 -135272465 1650980727</internalNodes>
<leafValues>
-6.0114890336990356e-01 3.9707064628601074e-01</leafValues></_>
<_>
<internalNodes>
0 -1 34 -65537 1900024832 2113928703 1427456005 -2000097796
-1199541120 -8193 -1076373933</internalNodes>
<leafValues>
-4.8408937454223633e-01 4.7264778614044189e-01</leafValues></_>
<_>
<internalNodes>
0 -1 33 -957354325 -11307149 1077987139 1364555603
-892346641 -934259115 -786956385 -657063937</internalNodes>
<leafValues>
-4.5418861508369446e-01 5.0518149137496948e-01</leafValues></_>
<_>
<internalNodes>
0 -1 6 -2 -26313730 -1074610178 -1299537238 -32865 -19140609
-860161 -1</internalNodes>
<leafValues>
-4.9512660503387451e-01 4.5704331994056702e-01</leafValues></_></weakClassifiers></_>
<!-- stage 9 -->
<_>
<maxWeakCount>8</maxWeakCount>
<stageThreshold>-1.9876842498779297e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 31 -17106959 -1431666689 -268435457 -393217 -51715
-1073801731 -131073 -32769</internalNodes>
<leafValues>
-6.8774211406707764e-01 3.7008509039878845e-01</leafValues></_>
<_>
<internalNodes>
0 -1 22 -205316 -38269892 1610612221 1610423677 -1346830851
-1078403587 1069219839 531258845</internalNodes>
<leafValues>
-6.5637201070785522e-01 3.6277371644973755e-01</leafValues></_>
<_>
<internalNodes>
0 -1 25 -454572478 -180231678 -42008207 -212337801
-990969857 -27790473 -455085125 -3147793</internalNodes>
<leafValues>
-5.7833588123321533e-01 4.1099661588668823e-01</leafValues></_>
<_>
<internalNodes>
0 -1 7 -65538 -71681622 -138739714 -4531542 -1069313
-1074090326 -1 -4576582</internalNodes>
<leafValues>
-6.7348241806030273e-01 3.3547967672348022e-01</leafValues></_>
<_>
<internalNodes>
0 -1 48 -496540569 -1069190141 1616860467 -531499689
-1066404113 -389191833 -89137409 -254806065</internalNodes>
<leafValues>
-5.4370993375778198e-01 4.3627995252609253e-01</leafValues></_>
<_>
<internalNodes>
0 -1 51 -242 -1947468801 -22 1275068415 -1140850817
-604241921 -9 -1</internalNodes>
<leafValues>
-6.5405476093292236e-01 3.4060734510421753e-01</leafValues></_>
<_>
<internalNodes>
0 -1 32 -587408131 -570634756 -537010723 -536915883
-855848708 -536962824 -4198433 -1610921844</internalNodes>
<leafValues>
-5.1407092809677124e-01 4.4894075393676758e-01</leafValues></_>
<_>
<internalNodes>
0 -1 11 -34825 939523771 -8262657 2006449563 2071926263
216760315 -41473 2140930047</internalNodes>
<leafValues>
-6.7977309226989746e-01 3.0627605319023132e-01</leafValues></_></weakClassifiers></_></stages>
<features>
<_>
<rect>
0 0 2 3</rect></_>
<_>
<rect>
0 0 3 5</rect></_>
<_>
<rect>
0 2 3 3</rect></_>
<_>
<rect>
0 4 3 4</rect></_>
<_>
<rect>
0 6 3 2</rect></_>
<_>
<rect>
0 6 4 1</rect></_>
<_>
<rect>
0 8 2 4</rect></_>
<_>
<rect>
0 8 8 4</rect></_>
<_>
<rect>
1 7 7 2</rect></_>
<_>
<rect>
3 2 4 6</rect></_>
<_>
<rect>
3 2 5 4</rect></_>
<_>
<rect>
3 5 4 2</rect></_>
<_>
<rect>
3 5 4 5</rect></_>
<_>
<rect>
3 9 6 1</rect></_>
<_>
<rect>
4 1 3 3</rect></_>
<_>
<rect>
5 8 3 2</rect></_>
<_>
<rect>
6 0 6 2</rect></_>
<_>
<rect>
6 7 4 2</rect></_>
<_>
<rect>
6 9 3 1</rect></_>
<_>
<rect>
6 9 4 1</rect></_>
<_>
<rect>
7 7 4 1</rect></_>
<_>
<rect>
7 10 4 1</rect></_>
<_>
<rect>
7 16 3 1</rect></_>
<_>
<rect>
8 4 1 4</rect></_>
<_>
<rect>
9 2 3 3</rect></_>
<_>
<rect>
9 8 1 2</rect></_>
<_>
<rect>
9 9 4 1</rect></_>
<_>
<rect>
9 16 4 1</rect></_>
<_>
<rect>
10 5 1 4</rect></_>
<_>
<rect>
10 6 1 3</rect></_>
<_>
<rect>
10 6 2 2</rect></_>
<_>
<rect>
10 8 1 1</rect></_>
<_>
<rect>
10 9 4 1</rect></_>
<_>
<rect>
11 6 1 3</rect></_>
<_>
<rect>
11 8 4 2</rect></_>
<_>
<rect>
12 2 1 4</rect></_>
<_>
<rect>
12 5 2 5</rect></_>
<_>
<rect>
12 6 2 3</rect></_>
<_>
<rect>
12 7 2 2</rect></_>
<_>
<rect>
12 8 1 2</rect></_>
<_>
<rect>
12 11 2 3</rect></_>
<_>
<rect>
12 13 1 2</rect></_>
<_>
<rect>
13 1 1 3</rect></_>
<_>
<rect>
13 1 2 5</rect></_>
<_>
<rect>
14 5 4 5</rect></_>
<_>
<rect>
14 6 1 2</rect></_>
<_>
<rect>
14 6 2 3</rect></_>
<_>
<rect>
15 6 2 3</rect></_>
<_>
<rect>
15 8 1 2</rect></_>
<_>
<rect>
17 1 3 5</rect></_>
<_>
<rect>
17 6 2 3</rect></_>
<_>
<rect>
19 6 2 1</rect></_>
<_>
<rect>
20 0 2 3</rect></_>
<_>
<rect>
20 1 2 4</rect></_>
<_>
<rect>
22 6 1 1</rect></_>
<_>
<rect>
22 8 1 1</rect></_>
<_>
<rect>
23 0 1 4</rect></_>
<_>
<rect>
23 6 1 3</rect></_></features></cascade>
</opencv_storage>

View File

@ -0,0 +1,828 @@
<?xml version="1.0"?>
<opencv_storage>
<cascade>
<stageType>BOOST</stageType>
<featureType>LBP</featureType>
<height>16</height>
<width>56</width>
<stageParams>
<boostType>GAB</boostType>
<minHitRate>9.9500000476837158e-01</minHitRate>
<maxFalseAlarm>4.0000000596046448e-01</maxFalseAlarm>
<weightTrimRate>9.4999999999999996e-01</weightTrimRate>
<maxDepth>1</maxDepth>
<maxWeakCount>100</maxWeakCount></stageParams>
<featureParams>
<maxCatCount>256</maxCatCount>
<featSize>1</featSize></featureParams>
<stageNum>11</stageNum>
<stages>
<!-- stage 0 -->
<_>
<maxWeakCount>3</maxWeakCount>
<stageThreshold>-1.0451923608779907e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 36 -393219 -3 -6423041 -10787 -1416053761 -257
-1346852097 -1081341816</internalNodes>
<leafValues>
-8.4839957952499390e-01 7.2987872362136841e-01</leafValues></_>
<_>
<internalNodes>
0 -1 45 -842010930 -49 -35659809 -1 -1048593 -1 -4113
-1053042</internalNodes>
<leafValues>
-8.3477401733398438e-01 6.3444960117340088e-01</leafValues></_>
<_>
<internalNodes>
0 -1 33 922786064 -34210339 -1617846913 -42134051
-1146421512 -67552328 -1155989574 -1147598567</internalNodes>
<leafValues>
-7.9891026020050049e-01 6.3798117637634277e-01</leafValues></_></weakClassifiers></_>
<!-- stage 1 -->
<_>
<maxWeakCount>5</maxWeakCount>
<stageThreshold>-1.2017160654067993e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 59 -1 -8388609 -262147 -1025 -2097155 -131075 -1188356
-1</internalNodes>
<leafValues>
-8.0423414707183838e-01 7.1497148275375366e-01</leafValues></_>
<_>
<internalNodes>
0 -1 23 823663869 -2157571 536297471 -10543107 -1883701249
-17409 -1086813185 1069222028</internalNodes>
<leafValues>
-7.9694825410842896e-01 5.7013964653015137e-01</leafValues></_>
<_>
<internalNodes>
0 -1 37 -1073495549 -1 -2097153 -9439377 -150994945 -2116609
-301990929 -1073496061</internalNodes>
<leafValues>
-6.9870513677597046e-01 6.4994341135025024e-01</leafValues></_>
<_>
<internalNodes>
0 -1 35 -13586952 -157700 -1087894051 -1073930916
-1343833093 -4682241 -1883656193 -1346895796</internalNodes>
<leafValues>
-7.5416016578674316e-01 5.4544264078140259e-01</leafValues></_>
<_>
<internalNodes>
0 -1 50 -58 -354 -1890653300 -614469684 -539033881
-202441735 1871564686 -5244929</internalNodes>
<leafValues>
-6.8963301181793213e-01 5.5272889137268066e-01</leafValues></_></weakClassifiers></_>
<!-- stage 2 -->
<_>
<maxWeakCount>6</maxWeakCount>
<stageThreshold>-1.7692946195602417e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 11 -1 -65538 -73729 -65537 -132097 -2299137 -4097 -1</internalNodes>
<leafValues>
-7.9372590780258179e-01 5.7357859611511230e-01</leafValues></_>
<_>
<internalNodes>
0 -1 66 -38142192 -35848195 -35668003 -33565347 -17237574
-1124271176 -1079791701 -1078260581</internalNodes>
<leafValues>
-7.2867351770401001e-01 4.8329105973243713e-01</leafValues></_>
<_>
<internalNodes>
0 -1 39 -2 1071180799 2013017084 1072973788 -537101060
493898748 -1107779908 -1</internalNodes>
<leafValues>
-6.8333017826080322e-01 5.2370953559875488e-01</leafValues></_>
<_>
<internalNodes>
0 -1 30 -4670024 -289283 356100795 -1073935371 -1078215681
-1077958211 -1086607361 -1078129636</internalNodes>
<leafValues>
-6.2974220514297485e-01 5.2924913167953491e-01</leafValues></_>
<_>
<internalNodes>
0 -1 25 -502291709 -2097681 -137371653 -136316929 -201330897
-1049729 -202379281 1107551011</internalNodes>
<leafValues>
-6.4298796653747559e-01 5.2137058973312378e-01</leafValues></_>
<_>
<internalNodes>
0 -1 3 -1025048593 -8454153 -478153249 -2173957 -188874753
-262597 -1049601 -520882438</internalNodes>
<leafValues>
-6.1015290021896362e-01 5.4480654001235962e-01</leafValues></_></weakClassifiers></_>
<!-- stage 3 -->
<_>
<maxWeakCount>6</maxWeakCount>
<stageThreshold>-1.6359119415283203e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 78 -1 -1 -538968579 -1 -67108868 -263171 -2097668 -1</internalNodes>
<leafValues>
-7.6843744516372681e-01 5.3943943977355957e-01</leafValues></_>
<_>
<internalNodes>
0 -1 67 -1073495805 -234883073 -67111969 -2099217 -75507713
-809503777 -355729409 -1038105597</internalNodes>
<leafValues>
-6.8578118085861206e-01 5.0043672323226929e-01</leafValues></_>
<_>
<internalNodes>
0 -1 15 -278664217 -1050641 2147483647 -11534361 -343932945
-49 -538968081 -285019389</internalNodes>
<leafValues>
-5.5803322792053223e-01 5.9757816791534424e-01</leafValues></_>
<_>
<internalNodes>
0 -1 26 512236797 -174625 1062731775 1073551357 -1079377921
-4194310 -1346650113 993790180</internalNodes>
<leafValues>
-7.2969949245452881e-01 4.4957882165908813e-01</leafValues></_>
<_>
<internalNodes>
0 -1 76 -1039416825 -3148417 -67110913 -17 -134217745
-71306593 -12293 -1068777469</internalNodes>
<leafValues>
-5.4335725307464600e-01 5.8002787828445435e-01</leafValues></_>
<_>
<internalNodes>
0 -1 51 -262146 -67568136 -82141182 2007215580 -8520257
990914360 2005741838 2000680447</internalNodes>
<leafValues>
-5.9913277626037598e-01 4.9378532171249390e-01</leafValues></_></weakClassifiers></_>
<!-- stage 4 -->
<_>
<maxWeakCount>7</maxWeakCount>
<stageThreshold>-2.2062957286834717e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 21 -1 -197666 -1 -1 -100794369 -1076039939 -1048577
-131073</internalNodes>
<leafValues>
-7.6847684383392334e-01 4.6340134739875793e-01</leafValues></_>
<_>
<internalNodes>
0 -1 60 -237 -37 -134218753 -5 -1 -1089 -1056833 -116785407</internalNodes>
<leafValues>
-6.0895538330078125e-01 4.9938541650772095e-01</leafValues></_>
<_>
<internalNodes>
0 -1 70 -1 -2318594 1069301756 1073494012 -1073841155
534518781 805060604 -1</internalNodes>
<leafValues>
-5.4893314838409424e-01 5.3637158870697021e-01</leafValues></_>
<_>
<internalNodes>
0 -1 20 -3604484 -35791464 -541487617 -572686140 -4521987
-17674 -1162170705 -1362163190</internalNodes>
<leafValues>
-5.7775717973709106e-01 4.9126368761062622e-01</leafValues></_>
<_>
<internalNodes>
0 -1 2 -857617163 -285212689 -270802945 -268440193
-856163329 -1140861955 -16781313 -924793788</internalNodes>
<leafValues>
-5.3668582439422607e-01 4.8434928059577942e-01</leafValues></_>
<_>
<internalNodes>
0 -1 22 1618420003 -25168897 -10623585 -10487809 -134219009
-83916809 -5243909 -532419797</internalNodes>
<leafValues>
-5.7090568542480469e-01 4.6299335360527039e-01</leafValues></_>
<_>
<internalNodes>
0 -1 43 -1078395396 -1078774275 1073560829 1071454621
-1153908801 -1344193284 800959999 792468548</internalNodes>
<leafValues>
-7.4212914705276489e-01 3.3639729022979736e-01</leafValues></_></weakClassifiers></_>
<!-- stage 5 -->
<_>
<maxWeakCount>8</maxWeakCount>
<stageThreshold>-1.7480094432830811e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 8 -1 -534529 -537198593 -1080885249 -16385 -1 -2097153
-1</internalNodes>
<leafValues>
-7.0402067899703979e-01 6.5799540281295776e-01</leafValues></_>
<_>
<internalNodes>
0 -1 63 -801 -603991809 1599065103 1339016447 -549468773
-76823105 1595924235 -547365377</internalNodes>
<leafValues>
-5.0990325212478638e-01 6.3905030488967896e-01</leafValues></_>
<_>
<internalNodes>
0 -1 71 -1039973885 -67109953 -513 -536870921 -138412033
-5242913 -10489921 -1035222777</internalNodes>
<leafValues>
-5.9732669591903687e-01 4.3383660912513733e-01</leafValues></_>
<_>
<internalNodes>
0 -1 12 -147324948 -183175179 -4115 -13139969 -134873089
1898315757 -8193 -3145729</internalNodes>
<leafValues>
-5.4496371746063232e-01 4.9755701422691345e-01</leafValues></_>
<_>
<internalNodes>
0 -1 47 -67109410 -68026439 -70144214 -36194134 -269484567
2053192992 2013130158 2139090431</internalNodes>
<leafValues>
-5.0915426015853882e-01 4.9623697996139526e-01</leafValues></_>
<_>
<internalNodes>
0 -1 42 -1089423184 -12862468 -1215089155 268189693
1060350877 -1355471179 993730493 973931004</internalNodes>
<leafValues>
-6.7260932922363281e-01 3.5985144972801208e-01</leafValues></_>
<_>
<internalNodes>
0 -1 27 -584193330 -5377 -45942273 -33554437 -18 -8388609
-268306 -4199934</internalNodes>
<leafValues>
-6.3769054412841797e-01 3.6881893873214722e-01</leafValues></_>
<_>
<internalNodes>
0 -1 40 -278530 2108732861 -677693188 -547754822 1059967420
510930104 2146221050 2147483135</internalNodes>
<leafValues>
-5.8414548635482788e-01 3.8868877291679382e-01</leafValues></_></weakClassifiers></_>
<!-- stage 6 -->
<_>
<maxWeakCount>8</maxWeakCount>
<stageThreshold>-1.7377587556838989e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 4 -269484033 -2098177 -2097153 -1 -268436481 -3407909
-268443649 -288882953</internalNodes>
<leafValues>
-7.2151899337768555e-01 4.3409916758537292e-01</leafValues></_>
<_>
<internalNodes>
0 -1 49 1090519039 -33554945 -574619649 -536870977
-268435457 -263233 -65 -1058013201</internalNodes>
<leafValues>
-6.0549730062484741e-01 4.4760972261428833e-01</leafValues></_>
<_>
<internalNodes>
0 -1 77 -1 -1073955010 1072963508 -1073954884 -1107509252
1072971700 737979132 -131073</internalNodes>
<leafValues>
-5.7679480314254761e-01 4.2160665988922119e-01</leafValues></_>
<_>
<internalNodes>
0 -1 24 -1626800132 -131332 -1749417985 1073551837
-1079443522 -265731 1067499519 -1088616185</internalNodes>
<leafValues>
-5.7254594564437866e-01 4.0989327430725098e-01</leafValues></_>
<_>
<internalNodes>
0 -1 80 -1086586883 1064878013 -285229315 528089087
-1073905667 -1075879939 498884092 -1111752723</internalNodes>
<leafValues>
-4.4475182890892029e-01 4.7570961713790894e-01</leafValues></_>
<_>
<internalNodes>
0 -1 34 -50397496 -571539729 -193417744 -193462273
-184553478 -130809857 -17440853 -2841</internalNodes>
<leafValues>
-6.4574575424194336e-01 3.0541008710861206e-01</leafValues></_>
<_>
<internalNodes>
0 -1 1 -33752067 2147483639 -1 -393217 -1 -129 -268500993
-36119056</internalNodes>
<leafValues>
-3.9170506596565247e-01 5.2524656057357788e-01</leafValues></_>
<_>
<internalNodes>
0 -1 52 -134283794 -237313553 -263819640 -254095478
-88343665 2077835172 -203434230 1944967167</internalNodes>
<leafValues>
-5.9206461906433105e-01 3.4918364882469177e-01</leafValues></_></weakClassifiers></_>
<!-- stage 7 -->
<_>
<maxWeakCount>9</maxWeakCount>
<stageThreshold>-1.6959785223007202e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 13 -1 -589825 -327682 -1078788098 -769 -8225 2146335743
-1</internalNodes>
<leafValues>
-7.5198322534561157e-01 3.0919909477233887e-01</leafValues></_>
<_>
<internalNodes>
0 -1 64 -1861 -536879881 -551563505 -807416353 -143404637
-8388609 1461705995 -547365377</internalNodes>
<leafValues>
-5.0563740730285645e-01 5.2403205633163452e-01</leafValues></_>
<_>
<internalNodes>
0 -1 73 807932157 -182305 -1084235777 -100720641 -1084507139
-1077959457 -1145397249 990511144</internalNodes>
<leafValues>
-7.0585018396377563e-01 3.0050498247146606e-01</leafValues></_>
<_>
<internalNodes>
0 -1 5 -353907969 -67108931 -268435497 -8388635 -306192385
-4468833 -947400705 -1066023756</internalNodes>
<leafValues>
-5.0959384441375732e-01 4.2078414559364319e-01</leafValues></_>
<_>
<internalNodes>
0 -1 44 -135004932 -13385303 -2260862 2011670784 -545260115
1936985397 -671873842 2013255677</internalNodes>
<leafValues>
-5.5762702226638794e-01 3.7356930971145630e-01</leafValues></_>
<_>
<internalNodes>
0 -1 69 -268501624 -923077129 1510622604 49204909
-1158152271 1502704942 1557847567 1275060095</internalNodes>
<leafValues>
-6.6680961847305298e-01 2.9700765013694763e-01</leafValues></_>
<_>
<internalNodes>
0 -1 38 -5251154 -9453918 797111310 2131230573 -270095185
-1083590025 1271893455 -275777553</internalNodes>
<leafValues>
-6.2293761968612671e-01 2.9274880886077881e-01</leafValues></_>
<_>
<internalNodes>
0 -1 10 2111135671 -11267 -70034433 -1 -83955777 -2103361
-171312299 -858987148</internalNodes>
<leafValues>
-4.8028641939163208e-01 3.7846100330352783e-01</leafValues></_>
<_>
<internalNodes>
0 -1 53 -8598524 -215437906 2007944206 -210203542 -472003697
1889017103 1739580418 2003824575</internalNodes>
<leafValues>
-6.3985937833786011e-01 3.0634939670562744e-01</leafValues></_></weakClassifiers></_>
<!-- stage 8 -->
<_>
<maxWeakCount>10</maxWeakCount>
<stageThreshold>-1.7300548553466797e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 82 -33554435 -1 -3 -2099201 -3 -66561 -268444163 -1</internalNodes>
<leafValues>
-6.9106096029281616e-01 4.1980198025703430e-01</leafValues></_>
<_>
<internalNodes>
0 -1 16 -282136593 -13647921 -8912897 -9453753 -282072243
-280145 -270533137 -11534513</internalNodes>
<leafValues>
-5.0940287113189697e-01 4.6177226305007935e-01</leafValues></_>
<_>
<internalNodes>
0 -1 83 -93061357 -917705 -262273 -33554571 -17 -67113093
-1074528273 -401023184</internalNodes>
<leafValues>
-4.2950353026390076e-01 4.8229336738586426e-01</leafValues></_>
<_>
<internalNodes>
0 -1 29 -1 -1208158273 1610389758 1035792380 -1610776676
429148540 536677116 -1</internalNodes>
<leafValues>
-4.4693231582641602e-01 4.6686416864395142e-01</leafValues></_>
<_>
<internalNodes>
0 -1 57 -395267 -143327236 -673841163 -4719617 -13517315
-537588556 256115853 2102460741</internalNodes>
<leafValues>
-4.8041793704032898e-01 3.9278998970985413e-01</leafValues></_>
<_>
<internalNodes>
0 -1 61 -1006113278 -46138489 -1158153545 -1296302105
-323031121 -269488665 -24416585 -361760793</internalNodes>
<leafValues>
-4.6333816647529602e-01 4.1745829582214355e-01</leafValues></_>
<_>
<internalNodes>
0 -1 68 -1476372232 -708839431 -539492417 502615125 -5572609
-10748181 -303239169 -1180053265</internalNodes>
<leafValues>
-5.2176910638809204e-01 3.7026578187942505e-01</leafValues></_>
<_>
<internalNodes>
0 -1 31 -1068120793 -67645193 -652747777 -671092737 -263253
-87040129 -3154001 -532422397</internalNodes>
<leafValues>
-4.6057039499282837e-01 4.0219148993492126e-01</leafValues></_>
<_>
<internalNodes>
0 -1 75 259817341 -805439017 -7868929 -131073 -19075267
1588984831 -655363 1878286196</internalNodes>
<leafValues>
-6.9318187236785889e-01 2.3830430209636688e-01</leafValues></_>
<_>
<internalNodes>
0 -1 79 -17895172 -2060526125 1542280684 -509411858
-1429346360 -358046448 1339849180 1542454651</internalNodes>
<leafValues>
-6.0459047555923462e-01 2.9107788205146790e-01</leafValues></_></weakClassifiers></_>
<!-- stage 9 -->
<_>
<maxWeakCount>11</maxWeakCount>
<stageThreshold>-1.7180263996124268e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 58 -769 -9089 -538976433 -538981121 -4203013 -67121665
-548414177 -547364865</internalNodes>
<leafValues>
-6.8504858016967773e-01 3.8265970349311829e-01</leafValues></_>
<_>
<internalNodes>
0 -1 9 -1643522 -327685 1342107647 -71895182 -817569033
-536905233 1809317883 -10249</internalNodes>
<leafValues>
-5.9726876020431519e-01 3.5460519790649414e-01</leafValues></_>
<_>
<internalNodes>
0 -1 41 -269484082 -280055890 -90438 -71630872 -1428216345
-1142224929 -1069061 -2049</internalNodes>
<leafValues>
-5.7786315679550171e-01 3.0543777346611023e-01</leafValues></_>
<_>
<internalNodes>
0 -1 48 534322365 2147293021 1908095995 1073466863
-580035652 -1073800548 -2281473 -228</internalNodes>
<leafValues>
-4.1843828558921814e-01 4.1043540835380554e-01</leafValues></_>
<_>
<internalNodes>
0 -1 18 -461951193 -352452769 -7734433 -304088305 -90701825
-4208165 -286786625 -528666847</internalNodes>
<leafValues>
-4.9123781919479370e-01 3.6235439777374268e-01</leafValues></_>
<_>
<internalNodes>
0 -1 46 -208603440 -179464748 2099244991 368382017
1811647163 -1175473669 735816175 148832265</internalNodes>
<leafValues>
-5.6988877058029175e-01 2.9373091459274292e-01</leafValues></_>
<_>
<internalNodes>
0 -1 7 2146926463 2138939355 -3293353 -268568065 1879042943
-847642691 -268439728 1819344724</internalNodes>
<leafValues>
-5.1686108112335205e-01 3.0770790576934814e-01</leafValues></_>
<_>
<internalNodes>
0 -1 72 928874495 -23276801 -616562729 1474166773 -6296577
-7472137 -8784241 2101149565</internalNodes>
<leafValues>
-5.2195620536804199e-01 2.9888916015625000e-01</leafValues></_>
<_>
<internalNodes>
0 -1 32 -1073495549 -6346765 -340404258 -352872465
-663749122 -1069133 -146806277 -1073494585</internalNodes>
<leafValues>
-4.8313328623771667e-01 3.2527777552604675e-01</leafValues></_>
<_>
<internalNodes>
0 -1 14 1063103471 -136995875 -1340689921 -67128387
-507265601 -1141788006 -219170049 -716960504</internalNodes>
<leafValues>
-4.5721590518951416e-01 3.6192828416824341e-01</leafValues></_>
<_>
<internalNodes>
0 -1 56 -40317780 -167937927 -1076642036 -378286988
1044053918 2054736527 2037759754 2076139482</internalNodes>
<leafValues>
-5.9875541925430298e-01 2.6297777891159058e-01</leafValues></_></weakClassifiers></_>
<!-- stage 10 -->
<_>
<maxWeakCount>11</maxWeakCount>
<stageThreshold>-1.5803068876266479e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 62 -257 -44969 1427101527 1542938463 -5242949 -1
1195638575 -1</internalNodes>
<leafValues>
-6.7265135049819946e-01 3.4876033663749695e-01</leafValues></_>
<_>
<internalNodes>
0 -1 28 1409282559 1939339103 1879036415 1358395359
1934325329 1601645797 -830481697 1610612719</internalNodes>
<leafValues>
-5.4590314626693726e-01 3.0792137980461121e-01</leafValues></_>
<_>
<internalNodes>
0 -1 81 -240 -592052963 -1619528299 -538971425 -69223009
-1180963110 -98377953 -70254829</internalNodes>
<leafValues>
-4.6597364544868469e-01 3.7983867526054382e-01</leafValues></_>
<_>
<internalNodes>
0 -1 65 4146691 -14698729 -1138778249 -526985 -855650817
-5189 -16844833 -216283265</internalNodes>
<leafValues>
-3.9402586221694946e-01 4.1330844163894653e-01</leafValues></_>
<_>
<internalNodes>
0 -1 74 -15671556 -5207771 1058081657 1024664349 -1155417095
-1611069235 521214973 1061098673</internalNodes>
<leafValues>
-5.1402300596237183e-01 3.3375990390777588e-01</leafValues></_>
<_>
<internalNodes>
0 -1 6 -1048577 -4204641 -541667457 -274727973 -842532867
-605292101 -16957612 1692991348</internalNodes>
<leafValues>
-4.4691237807273865e-01 3.4739661216735840e-01</leafValues></_>
<_>
<internalNodes>
0 -1 17 -219958533 -268442577 94449135 32465443 844342139
-1210599183 390823799 2147448155</internalNodes>
<leafValues>
-4.0495336055755615e-01 3.8254821300506592e-01</leafValues></_>
<_>
<internalNodes>
0 -1 19 -134218684 1558696409 -3180796 -68165817 -168449039
1911606587 -17171457 1958556619</internalNodes>
<leafValues>
-5.7533365488052368e-01 2.4776358902454376e-01</leafValues></_>
<_>
<internalNodes>
0 -1 55 -637534219 -33557729 -1080451409 -103292417
-71959632 -37305927 -537966335 232723581</internalNodes>
<leafValues>
-4.9741992354393005e-01 2.8382107615470886e-01</leafValues></_>
<_>
<internalNodes>
0 -1 0 2138406271 -2261025 -772834817 -6291533 -740824577
-527473 -3417699 -839581891</internalNodes>
<leafValues>
-3.9733719825744629e-01 3.6460295319557190e-01</leafValues></_>
<_>
<internalNodes>
0 -1 54 -789850304 -749814785 -1575815678 -117982473
348839767 130519847 -374155401 -822738985</internalNodes>
<leafValues>
-6.3854801654815674e-01 2.4949319660663605e-01</leafValues></_></weakClassifiers></_></stages>
<features>
<_>
<rect>
0 0 1 1</rect></_>
<_>
<rect>
0 0 1 2</rect></_>
<_>
<rect>
0 0 4 2</rect></_>
<_>
<rect>
0 0 9 4</rect></_>
<_>
<rect>
0 1 5 2</rect></_>
<_>
<rect>
0 1 8 2</rect></_>
<_>
<rect>
0 3 1 1</rect></_>
<_>
<rect>
0 4 1 1</rect></_>
<_>
<rect>
0 10 5 2</rect></_>
<_>
<rect>
0 11 7 1</rect></_>
<_>
<rect>
1 1 1 1</rect></_>
<_>
<rect>
1 7 9 3</rect></_>
<_>
<rect>
1 8 18 1</rect></_>
<_>
<rect>
1 10 5 2</rect></_>
<_>
<rect>
2 0 18 2</rect></_>
<_>
<rect>
2 1 5 3</rect></_>
<_>
<rect>
2 2 5 3</rect></_>
<_>
<rect>
3 5 5 1</rect></_>
<_>
<rect>
6 1 1 3</rect></_>
<_>
<rect>
6 4 2 3</rect></_>
<_>
<rect>
6 4 11 1</rect></_>
<_>
<rect>
6 9 7 2</rect></_>
<_>
<rect>
8 1 1 3</rect></_>
<_>
<rect>
8 2 13 1</rect></_>
<_>
<rect>
8 3 12 1</rect></_>
<_>
<rect>
9 1 1 3</rect></_>
<_>
<rect>
9 2 9 1</rect></_>
<_>
<rect>
9 2 9 3</rect></_>
<_>
<rect>
9 7 5 2</rect></_>
<_>
<rect>
9 9 1 2</rect></_>
<_>
<rect>
9 10 12 1</rect></_>
<_>
<rect>
10 0 1 3</rect></_>
<_>
<rect>
10 2 1 2</rect></_>
<_>
<rect>
10 3 14 1</rect></_>
<_>
<rect>
10 6 9 1</rect></_>
<_>
<rect>
10 11 11 1</rect></_>
<_>
<rect>
10 12 11 1</rect></_>
<_>
<rect>
11 0 1 3</rect></_>
<_>
<rect>
11 6 8 2</rect></_>
<_>
<rect>
11 7 1 3</rect></_>
<_>
<rect>
12 6 1 3</rect></_>
<_>
<rect>
12 8 8 2</rect></_>
<_>
<rect>
12 10 12 1</rect></_>
<_>
<rect>
12 11 12 1</rect></_>
<_>
<rect>
13 7 1 2</rect></_>
<_>
<rect>
14 0 6 4</rect></_>
<_>
<rect>
14 4 10 1</rect></_>
<_>
<rect>
14 5 1 3</rect></_>
<_>
<rect>
14 10 12 2</rect></_>
<_>
<rect>
15 0 3 4</rect></_>
<_>
<rect>
15 4 5 3</rect></_>
<_>
<rect>
15 5 1 3</rect></_>
<_>
<rect>
16 4 1 3</rect></_>
<_>
<rect>
17 6 1 2</rect></_>
<_>
<rect>
17 6 4 1</rect></_>
<_>
<rect>
17 9 13 1</rect></_>
<_>
<rect>
18 4 1 3</rect></_>
<_>
<rect>
18 9 9 1</rect></_>
<_>
<rect>
19 6 2 2</rect></_>
<_>
<rect>
19 7 12 3</rect></_>
<_>
<rect>
20 0 12 3</rect></_>
<_>
<rect>
20 4 2 1</rect></_>
<_>
<rect>
20 5 2 2</rect></_>
<_>
<rect>
20 6 2 2</rect></_>
<_>
<rect>
21 6 2 2</rect></_>
<_>
<rect>
23 4 1 1</rect></_>
<_>
<rect>
24 3 10 1</rect></_>
<_>
<rect>
25 2 1 2</rect></_>
<_>
<rect>
26 3 6 1</rect></_>
<_>
<rect>
26 4 1 3</rect></_>
<_>
<rect>
26 7 1 3</rect></_>
<_>
<rect>
28 0 1 3</rect></_>
<_>
<rect>
28 13 1 1</rect></_>
<_>
<rect>
29 2 5 1</rect></_>
<_>
<rect>
29 10 6 1</rect></_>
<_>
<rect>
29 13 1 1</rect></_>
<_>
<rect>
31 0 1 3</rect></_>
<_>
<rect>
35 7 1 3</rect></_>
<_>
<rect>
35 7 7 3</rect></_>
<_>
<rect>
36 4 1 3</rect></_>
<_>
<rect>
38 10 6 2</rect></_>
<_>
<rect>
39 3 5 1</rect></_>
<_>
<rect>
40 11 5 1</rect></_>
<_>
<rect>
41 0 5 2</rect></_></features></cascade>
</opencv_storage>