2017-01-19 2 views
0

EmguCV를 사용하여 보행자를 감지하고 있습니다.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 []로 변환 할 수 없습니다 : 내가 HOGDescriptor를 사용하려고하면 내가 기능 DetectMultiScale (My_Image)에 오류가 발생했습니다

오류로 인해 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 구조에 대한 참조입니다.

관련 문제