root/lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Src/Class/CvHaarStageClassifier.cs @ 32668

Revision 32668, 3.9 kB (checked in by schima, 4 years ago)

CvHaarFeature?, CvHaarClassifier?, CvHaarStageClassifier?, CvHaarClassifierCascade?

Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5
6namespace KwsmLab.OpenCvSharp
7{
8#if LANG_JP
9    /// <summary>
10    /// ブーストされた分類器の組(= 段階分類器(stage classifiers)):
11    /// 分類器の応答の合計がthresholdよりも大きい場合には
12    /// 段階分類器は 1 を返し,そうでない場合は 0 を返す.
13    /// </summary>
14#else
15    /// <summary>
16    /// a boosted battery of classifiers(=stage classifier):
17    /// the stage classifier returns 1
18    /// if the sum of the classifiers' responces
19    /// is greater than threshold and 0 otherwise
20    /// </summary>
21#endif
22    public class CvHaarStageClassifier : ICvPtrHolder
23    {
24        /// <summary>
25        /// C++/CLI wrapper of data pointer
26        /// </summary>
27        private Extern.WCvHaarStageClassifier _data;
28        /// <summary>
29        /// Data pointer
30        /// </summary>
31        private IntPtr _ptr;
32
33
34        #region Init and Disposal
35#if LANG_JP
36        /// <summary>
37        /// ポインタで初期化
38        /// </summary>
39        /// <param name="ptr">struct CvHaarStageClassifier*</param>
40#else
41        /// <summary>
42        /// Initializes from native pointer
43        /// </summary>
44        /// <param name="ptr">struct CvHaarStageClassifier*</param>
45#endif
46        public CvHaarStageClassifier(IntPtr ptr)
47        {
48            if (ptr == IntPtr.Zero)
49            {
50                throw new ArgumentNullException("ptr");
51            }
52            this._ptr = ptr;
53            this._data = new Extern.WCvHaarStageClassifier(ptr);
54        }
55        #endregion
56
57
58        #region Properties
59       /// <summary>
60        /// Data pointer (CvHaarStageClassifier*)
61        /// </summary>
62        public IntPtr CvPtr
63        {
64            get { return _ptr; }
65        }
66        /// <summary>
67        /// sizeof(CvHaarStageClassifier)
68        /// </summary>
69        public const Int32 SizeOf = Extern.WCvHaarStageClassifier.SizeOf;
70
71
72#if LANG_JP
73        /// <summary>
74        /// 組に含まれる分類器の個数
75        /// </summary>
76#else
77        /// <summary>
78        /// Number of classifiers in the battery
79        /// </summary>
80#endif
81        public int Count
82                {
83                        get{ return _data.count; }
84                }
85
86#if LANG_JP
87        /// <summary>
88        /// ブーストされた分類器で用いる閾値
89        /// </summary>
90#else
91        /// <summary>
92        /// Threshold for the boosted classifier
93        /// </summary>
94#endif
95                public float Threshold
96                {
97                        get{ return _data.threshold; }
98                }
99
100#if LANG_JP
101        /// <summary>
102        /// 分類器の配列
103        /// </summary>
104#else
105        /// <summary>
106        /// Array of classifiers
107        /// </summary>
108#endif
109                public CvHaarClassifier[] Classifier
110                {
111            get
112            {
113                int length = _data.count;
114                CvHaarClassifier[] result = new CvHaarClassifier[length];
115                for (int i = 0; i < length; i++)
116                {
117                    result[i] = new CvHaarClassifier(_data.classifier_at(i));
118                }
119                return result;
120            }
121                }
122
123#if LANG_JP
124        /// <summary>
125        ///
126        /// </summary>
127#else
128        /// <summary>
129        ///
130        /// </summary>
131#endif
132                public int Next
133                {
134                        get{ return _data.next; }
135                }
136
137#if LANG_JP
138        /// <summary>
139        ///
140        /// </summary>
141#else
142        /// <summary>
143        ///
144        /// </summary>
145#endif
146                public int Child
147                {
148                        get{ return _data.child; }
149                }
150
151#if LANG_JP
152        /// <summary>
153        ///
154        /// </summary>
155#else
156        /// <summary>
157        ///
158        /// </summary>
159#endif
160                public int Parent
161                {
162                        get{ return _data.parent; }
163                }
164        #endregion
165    }
166}
Note: See TracBrowser for help on using the browser.