我正在开发使用 emgucv 估计人类身高的程序。我使用 fullbodydetection 来检测人体。我使用检测到的矩形框的高度作为估计高度的参考。
我的程序编写如下。我使用 vb 作为我的编程语言
imgcolor = ImgCap.QueryFrame.Flip(Emgu.CV.CvEnum.FLIP.HORIZONTAL)
imggray = imgcolor.Convert(Of Gray, Byte)()
If TextBox1.Text = "Human Detected" Then
TextBox2.Text = Height
Else
TextBox2.Text = 0
End If
TextBox1.Text = "Human Detected"
For Each body As MCvAvgComp In imggray.DetectHaarCascade( _
objecttodetect, _
1.2, _
1, _
CvEnum.HAAR_DETECTION_TYPE.FIND_BIGGEST_OBJECT, _
New Size(50, 50))(0)
imgcolor.Draw(body.rect, New Bgr(Color.Blue), 3)
Height = body.rect.Height
我的问题是
1)当我调试全身检测不准确时。我应该怎么做才能使检测结果准确?
2)我的图像框的当前大小是 640,480。我想将宽度减小到 320,但是当我这样做时,图像框中的视图和我的相机一样减半(这意味着即使我盖住了相机镜头的一半,它也不会影响图像框中的图像。
提前谢谢您的回答。对不起我糟糕的英语。