2017-01-19 8 views
0

私はEmguCVを使って歩行者を検出しています。私はHOGDescriptorを使用しようとするとき、私は機能DetectMultiScale(My_Image)でエラーが発生しました:EmguCVでHOGDescriptorを使用する

は、暗黙的にSystem.Drawing.Rectangle [] '

 OpenFileDialog Openfile = new OpenFileDialog(); 
     if (Openfile.ShowDialog() == DialogResult.OK) 
     { 
      //Load the Image 
      Image<Bgr, Byte> My_Image = new Image<Bgr, byte>(Openfile.FileName); 

      Rectangle[] regions; 

      using (HOGDescriptor des = new HOGDescriptor()) 
      { 
       des.SetSVMDetector(HOGDescriptor.GetDefaultPeopleDetector()); 
       regions = des.DetectMultiScale(My_Image); 
      } 
     } 

答えて

0
「から' typeEmgu.CV.Structure.MCvObjectDetection []は変換できません。

エラーが示唆するように、MCvObjectDetection []タイプのオブジェクトをRectangle []オブジェクトとして直接変換することはできません。しかし、MCvObjectDetectionはメンバ変数としてRectangleを持つ構造体です。だから、

for(int i=0; i<objects.length;i++) 
{ 
regions[i]=objects[i].Rect; 
} 

https://sourceforge.net/p/emgucv/svn/1442/tree/trunk/Emgu.CV/PInvoke/CvType/MCvObjectDetection.cs#l22ループによって矩形の一覧を取得し、この

typeEmgu.CV.Structure.MCvObjectDetection[] objects=des.DetectMultiScale(My_Image);

のようにコーディングする必要がありますMCvObjectDetection構造への参照です。

関連する問題