我正在使用EmguCV
(我不知道具体版本)和C#
。
我已经在网上找到的许多教程中创建了自己的haarcascade,但是当我在自己的代码中使用它时,我失败了。我正在使用这个代码的级联,但不知何故,程序只是结束自己没有任何errormsg,当涉及到确切的那一行。
HaarCascade LicencePlate = new HaarCascade(Cascade);
MCvAvgComp[] Positives = LicencePlate.Detect(grayFrame); // The Line it crashes
if (Positives.Length > 0)
{
foreach (var _positive in Positives)
{
Image<Bgr, Byte> tmp = frame.Copy();
frame.ROI = _positive.rect;
frame.Draw(_positive.rect, new Bgr(Color.Red), 0);
}
}
另外,如果它可能有所帮助,这里是我的classifer
的参数<?xml version="1.0"?>
<opencv_storage>
<cascade>
<stageType>BOOST</stageType>
<featureType>HAAR</featureType>
<height>21</height>
<width>100</width>
<stageParams>
<boostType>GAB</boostType
<minHitRate>9.9900001287460327e-001</minHitRate>
<maxFalseAlarm>1.0000000149011612e-001</maxFalseAlarm>
<weightTrimRate>9.4999999999999996e-001</weightTrimRate>
<maxDepth>1</maxDepth>
<maxWeakCount>100</maxWeakCount></stageParams> <featureParams>
<maxCatCount>0</maxCatCount>
<featSize>1</featSize>
<mode>ALL</mode>
</featureParams>
<stageNum>10</stageNum>