예제 #1
0
 /// <summary>
 /// Create a foreground detector of the specific type
 /// </summary>
 /// <param name="type">The type of the detector to be created. Should be either FGD ot FGD_SIMPLE</param>
 /// <param name="parameter">The FGD parameters</param>
 public FGDetector(CvEnum.FORGROUND_DETECTOR_TYPE type, MCvFGDStatModelParams parameter)
 {
     if (type == CvEnum.FORGROUND_DETECTOR_TYPE.FGD || type == CvEnum.FORGROUND_DETECTOR_TYPE.FGD_SIMPLE)
     {
         IntPtr p = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(MCvFGDStatModelParams)));
         Marshal.StructureToPtr(parameter, p, false);
         _ptr = FGDetectorInvoke.CvCreateFGDetectorBase(type, p);
         Marshal.FreeHGlobal(p);
     }
     else
     {
         throw new ArgumentException("This constructor only accepts detector type of either FGD or FGD_SIMPLE");
     }
 }
예제 #2
0
 public extern static IntPtr CvCreateFGDetectorBase(CvEnum.FORGROUND_DETECTOR_TYPE type, ref MCvFGDStatModelParams param);
예제 #3
0
 public extern static IntPtr CvCreateFGDetectorBase(CvEnum.FORGROUND_DETECTOR_TYPE type, IntPtr param);
예제 #4
0
 /// <summary>
 /// Create a forground detector of the specific type
 /// </summary>
 /// <param name="type">The type of the detector to be created</param>
 public FGDetector(CvEnum.FORGROUND_DETECTOR_TYPE type)
 {
     _ptr = CvInvoke.CvCreateFGDetectorBase(type, IntPtr.Zero);
 }