emgucvを使って人間の身長を推定するプログラムを開発しています。全身検出を使用して人体を検出します。高さを推定するための参照として、検出された長方形のボックスの高さを使用します。
私のプログラムは以下のように書かれています。プログラミング言語として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 に縮小したかったのですが、そうすると、画像ボックスのビューがカメラと同様に半分になりました (つまり、カメラ レンズの半分をカバーしても、画像ボックスの画像には影響しません。
あなたの答えのために前もってThx。私の下手な英語でごめんなさい。