Changeset 32782
- Timestamp:
- 04/24/09 21:12:44 (4 years ago)
- Location:
- lang/cpluspluscli/OpenCvSharp2/trunk
- Files:
-
- 6 added
- 10 modified
-
OpenCvSharp.Extern/CvInline.h (modified) (1 diff)
-
OpenCvSharp.Extern/OpenCvSharp.Extern.vcproj (modified) (2 diffs)
-
OpenCvSharp.Extern/WCvSparseMatIterator.cpp (added)
-
OpenCvSharp.Extern/WCvSparseMatIterator.h (added)
-
OpenCvSharp.Extern/WCvSparseNode.cpp (added)
-
OpenCvSharp.Extern/WCvSparseNode.h (added)
-
OpenCvSharp/OpenCvSharp.csproj (modified) (2 diffs)
-
OpenCvSharp/Src/Class/CvChainPtReader.cs (modified) (9 diffs)
-
OpenCvSharp/Src/Class/CvSeqReader.cs (modified) (11 diffs)
-
OpenCvSharp/Src/Class/CvSeqReaderT.cs (modified) (4 diffs)
-
OpenCvSharp/Src/Class/CvSparseMatIterator.cs (added)
-
OpenCvSharp/Src/Class/CvSparseNode.cs (added)
-
OpenCvSharp/Src/Core/CvDll.cs (modified) (1 diff)
-
OpenCvSharp/Src/Core/Cv_D-G.cs (modified) (17 diffs)
-
OpenCvSharp/Src/Core/Cv_H-Q.cs (modified) (1 diff)
-
wrapped functions.csv (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp.Extern/CvInline.h
r32753 r32782 350 350 ::cvRand(statePtr, arr.ToPointer()); 351 351 } 352 353 // returns next sparse array node (or NULL if there is no more nodes) 354 static IntPtr cvGetNextSparseNode( IntPtr mat_iterator ) 355 { 356 CvSparseMatIterator* mat_iterator_ptr = reinterpret_cast<CvSparseMatIterator*>(mat_iterator.ToPointer()); 357 return IntPtr( ::cvGetNextSparseNode(mat_iterator_ptr) ); 358 } 352 359 }; 353 360 } -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp.Extern/OpenCvSharp.Extern.vcproj
r32745 r32782 559 559 </File> 560 560 <File 561 RelativePath=".\WCvSparseMatIterator.cpp" 562 > 563 </File> 564 <File 565 RelativePath=".\WCvSparseNode.cpp" 566 > 567 </File> 568 <File 561 569 RelativePath=".\WCvStereoBMState.cpp" 562 570 > … … 729 737 </File> 730 738 <File 739 RelativePath=".\WCvSparseMatIterator.h" 740 > 741 </File> 742 <File 743 RelativePath=".\WCvSparseNode.h" 744 > 745 </File> 746 <File 731 747 RelativePath=".\WCvStereoBMState.h" 732 748 > -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/OpenCvSharp.csproj
r32750 r32782 4 4 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 5 5 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 6 <ProductVersion>9.0. 21022</ProductVersion>6 <ProductVersion>9.0.30729</ProductVersion> 7 7 <SchemaVersion>2.0</SchemaVersion> 8 8 <ProjectGuid>{4C2356B8-1A1E-4F92-A51C-A49CA116867F}</ProjectGuid> … … 154 154 <Compile Include="Src\Class\CvPOSITObject.cs" /> 155 155 <Compile Include="Src\Class\CvRandState.cs" /> 156 <Compile Include="Src\Class\CvSparseMatIterator.cs" /> 157 <Compile Include="Src\Class\CvSparseNode.cs" /> 156 158 <Compile Include="Src\Class\CvTreeNodeIterator.cs" /> 157 159 <Compile Include="Src\Class\CvTreeNodeIteratorT.cs" /> -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Src/Class/CvChainPtReader.cs
r32657 r32782 19 19 /// CvContourScanner pointer 20 20 /// </summary> 21 new private IntPtr ptr;21 new private IntPtr _ptr; 22 22 /// <summary> 23 23 /// C++/CLI access to object`s pointer 24 24 /// </summary> 25 new private Extern.WCvChainPtReader data;25 new private Extern.WCvChainPtReader _data; 26 26 /// <summary> 27 27 /// Target chain 28 28 /// </summary> 29 private CvChain chain;29 private CvChain _chain; 30 30 31 31 … … 42 42 public CvChainPtReader() 43 43 { 44 this. ptr = base.AllocMemory(SizeOf);45 this. data = new Extern.WCvChainPtReader(this.ptr);46 this. chain = null;44 this._ptr = base.AllocMemory(SizeOf); 45 this._data = new Extern.WCvChainPtReader(this._ptr); 46 this._chain = null; 47 47 } 48 48 #if LANG_JP … … 60 60 : this() 61 61 { 62 this. chain = chain;62 this._chain = chain; 63 63 Cv.StartReadChainPoints(chain, this); 64 64 } … … 86 86 new public IntPtr CvPtr 87 87 { 88 get { return ptr; }88 get { return _ptr; } 89 89 } 90 90 #endregion … … 102 102 public sbyte Code 103 103 { 104 get { return data.code; }104 get { return _data.code; } 105 105 } 106 106 #if LANG_JP … … 115 115 public CvPoint Pt 116 116 { 117 get { return data.pt; }117 get { return _data.pt; } 118 118 } 119 119 #if LANG_JP … … 128 128 public sbyte[,] Deltas 129 129 { 130 get { return data.deltas; }130 get { return _data.deltas; } 131 131 } 132 132 #endregion … … 150 150 throw new ArgumentNullException("chain"); 151 151 } 152 this. chain = chain;152 this._chain = chain; 153 153 CvDll.cvStartReadChainPoints(chain.CvPtr, this.CvPtr); 154 154 } … … 163 163 public IEnumerator<CvPoint> GetEnumerator() 164 164 { 165 if ( chain == null)165 if (_chain == null) 166 166 { 167 167 throw new NotSupportedException(); 168 168 } 169 Cv.StartReadChainPoints( chain, this);170 Extern.WCvSeq seq = new Extern.WCvSeq( data.seq);169 Cv.StartReadChainPoints(_chain, this); 170 Extern.WCvSeq seq = new Extern.WCvSeq(_data.seq); 171 171 for (int i = 0; i < seq.total; i++) 172 172 { -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Src/Class/CvSeqReader.cs
r32510 r32782 10 10 /// CvSeqからデータを読み取るためのクラス 11 11 /// </summary> 12 //[StructLayout(LayoutKind.Sequential)]13 12 public class CvSeqReader : DisposableObject, ICvPtrHolder 14 13 { 15 14 /// <summary> 16 /// C++/CLI側でポインタにアクセスするオブジェクト 17 /// </summary> 18 protected Extern.WCvSeqReader data; 19 /// <summary> 20 /// データポインタ 21 /// </summary> 22 protected IntPtr ptr; 23 24 25 #region 初期化と解放 15 /// C++/CLI wrapper of data pointer 16 /// </summary> 17 protected Extern.WCvSeqReader _data; 18 /// <summary> 19 /// data pointer 20 /// </summary> 21 protected IntPtr _ptr; 22 23 24 #region Initialization and Disposal 25 #if LANG_JP 26 26 /// <summary> 27 27 /// 初期化 28 28 /// </summary> 29 #else 30 /// <summary> 31 /// Default constructor 32 /// </summary> 33 #endif 29 34 public CvSeqReader() 30 35 { 31 this. ptr = base.AllocMemory(SizeOf);32 this. data = new Extern.WCvSeqReader(this.ptr);36 this._ptr = base.AllocMemory(SizeOf); 37 this._data = new Extern.WCvSeqReader(this._ptr); 33 38 base.NotifyMemoryPressure(SizeOf); 34 39 } … … 36 41 37 42 38 #region プロパティ39 /// <summary> 40 /// sizeof(CvSeqReader) を取得する43 #region Properties 44 /// <summary> 45 /// sizeof(CvSeqReader) 41 46 /// </summary> 42 47 public const int SizeOf = Extern.WCvSeqReader.SizeOf; 43 48 /// <summary> 44 /// データポインタ(CvSeqReader*)を取得する49 /// Data pointer (CvSeqReader*) 45 50 /// </summary> 46 51 public IntPtr CvPtr 47 52 { 48 get { return ptr; }53 get { return _ptr; } 49 54 } 50 55 … … 54 59 public int HeaderSize 55 60 { 56 get { return data.header_size; }61 get { return _data.header_size; } 57 62 } 58 63 /// <summary> … … 63 68 get 64 69 { 65 if ( data.seq == IntPtr.Zero)70 if (_data.seq == IntPtr.Zero) 66 71 return null; 67 72 else 68 return new CvSeq( data.seq);73 return new CvSeq(_data.seq); 69 74 } 70 75 } … … 76 81 get 77 82 { 78 if ( data.block == IntPtr.Zero)83 if (_data.block == IntPtr.Zero) 79 84 return null; 80 85 else 81 return new CvSeqBlock( data.block);86 return new CvSeqBlock(_data.block); 82 87 } 83 88 } … … 87 92 public IntPtr Ptr 88 93 { 89 get { return data.ptr; }90 internal set { data.ptr = value; }94 get { return _data.ptr; } 95 internal set { _data.ptr = value; } 91 96 } 92 97 /// <summary> … … 95 100 public IntPtr BlockMin 96 101 { 97 get { return data.block_min; }102 get { return _data.block_min; } 98 103 } 99 104 /// <summary> … … 102 107 public IntPtr BlockMax 103 108 { 104 get { return data.block_max; }109 get { return _data.block_max; } 105 110 } 106 111 /// <summary> … … 109 114 public int DeltaIndex 110 115 { 111 get { return data.delta_index; }116 get { return _data.delta_index; } 112 117 } 113 118 /// <summary> … … 116 121 public IntPtr PrevElem 117 122 { 118 get { return data.prev_elem; }123 get { return _data.prev_elem; } 119 124 } 120 125 /// <summary> … … 129 134 130 135 131 #region OpenCV メソッド136 #region OpenCV Methods 132 137 #region GetSeqReaderPos 133 138 /// <summary> -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Src/Class/CvSeqReaderT.cs
r32510 r32782 14 14 { 15 15 16 #region 初期化と解放 16 #region Initialization and Disposal 17 #if LANG_JP 17 18 /// <summary> 18 19 /// 初期化 19 20 /// </summary> 21 #else 22 /// <summary> 23 /// Default constructor 24 /// </summary> 25 #endif 20 26 public CvSeqReader() 21 27 : base() … … 25 31 26 32 27 #region プロパティ33 #region Properties 28 34 /// <summary> 29 35 /// Sequence, beign read … … 33 39 get 34 40 { 35 if ( data.seq == IntPtr.Zero)41 if (_data.seq == IntPtr.Zero) 36 42 return null; 37 43 else 38 return new CvSeq<T>( data.seq);44 return new CvSeq<T>(_data.seq); 39 45 } 40 46 } … … 42 48 43 49 44 #region OpenCV メソッド50 #region OpenCV Methods 45 51 #region ReadSeqElem 46 52 /// <summary> -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Src/Core/CvDll.cs
r32763 r32782 608 608 [DllImport(DLL_CXCORE)] 609 609 public static extern IntPtr cvInitMatNDHeader(IntPtr mat, int dims, int[] sizes, MatrixType type, IntPtr data); 610 [DllImport(DLL_CXCORE)] 611 public static extern IntPtr cvInitSparseMatIterator(IntPtr mat, IntPtr mat_iterator); 610 612 [DllImport(DLL_CXCORE)] 611 613 public static extern void cvInitTreeNodeIterator([In, Out] CvTreeNodeIterator tree_iterator, IntPtr first, int max_level); -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Src/Core/Cv_D-G.cs
r32763 r32782 2316 2316 #endregion 2317 2317 #region GetCol 2318 #if LANG_JP 2318 2319 /// <summary> 2319 2320 /// 指定された列を返す … … 2323 2324 /// <param name="col">選択した列の,0を基準としたインデックス.</param> 2324 2325 /// <returns>指定された範囲の列</returns> 2326 #else 2327 /// <summary> 2328 /// Returns array column 2329 /// </summary> 2330 /// <param name="arr">Input array. </param> 2331 /// <param name="submat">Reference to the resulting sub-array header. </param> 2332 /// <param name="col">Zero-based index of the selected column. </param> 2333 /// <returns></returns> 2334 #endif 2325 2335 public static CvMat GetCol(this CvArr arr, out CvMat submat, int col) 2326 2336 { … … 2331 2341 return GetCols(arr, out submat, col, col + 1); 2332 2342 } 2343 #if LANG_JP 2333 2344 /// <summary> 2334 2345 /// 指定された範囲の列(複数列)を返す … … 2339 2350 /// <param name="end_col">範囲の最後の(この値を含まない)列の,0を基準としたインデックス.</param> 2340 2351 /// <returns>指定された範囲の列</returns> 2352 #else 2353 /// <summary> 2354 /// Returns array column span 2355 /// </summary> 2356 /// <param name="arr">Input array. </param> 2357 /// <param name="submat">Reference to the resulting sub-array header. </param> 2358 /// <param name="start_col">Zero-based index of the starting column (inclusive) of the span. </param> 2359 /// <param name="end_col">Zero-based index of the ending column (exclusive) of the span. </param> 2360 /// <returns></returns> 2361 #endif 2341 2362 public static CvMat GetCols(this CvArr arr, out CvMat submat, int start_col, int end_col) 2342 2363 { … … 2351 2372 #endregion 2352 2373 #region GetDiag 2374 #if LANG_JP 2353 2375 /// <summary> 2354 2376 /// 入力配列中の指定された対角列に相当するヘッダを返す. … … 2357 2379 /// <param name="submat">結果として得られる部分配列のヘッダへの参照</param> 2358 2380 /// <returns>結果として得られる部分配列のヘッダへの参照</returns> 2381 #else 2382 /// <summary> 2383 /// Returns one of array diagonals 2384 /// </summary> 2385 /// <param name="arr">Input array. </param> 2386 /// <param name="submat">Reference to the resulting sub-array header. </param> 2387 /// <returns></returns> 2388 #endif 2359 2389 public static CvMat GetDiag(this CvArr arr, out CvMat submat) 2360 2390 { 2361 2391 return GetDiag(arr, out submat, 0); 2362 2392 } 2393 #if LANG_JP 2363 2394 /// <summary> 2364 2395 /// 入力配列中の指定された対角列に相当するヘッダを返す. … … 2368 2399 /// <param name="diag">対角配列の種類</param> 2369 2400 /// <returns>結果として得られる部分配列のヘッダへの参照</returns> 2401 #else 2402 /// <summary> 2403 /// Returns one of array diagonals 2404 /// </summary> 2405 /// <param name="arr">Input array. </param> 2406 /// <param name="submat">Reference to the resulting sub-array header. </param> 2407 /// <param name="diag">Array diagonal. Zero corresponds to the main diagonal, -1 corresponds to the diagonal above the main etc., 1 corresponds to the diagonal below the main etc. </param> 2408 /// <returns></returns> 2409 #endif 2370 2410 public static CvMat GetDiag(this CvArr arr, out CvMat submat, DiagType diag) 2371 2411 { … … 3159 3199 #endregion 3160 3200 #region GetRow 3201 #if LANG_JP 3161 3202 /// <summary> 3162 3203 /// 指定された行を返す … … 3166 3207 /// <param name="row">選択した行の,0を基準としたインデックス.</param> 3167 3208 /// <returns>指定された範囲の行</returns> 3209 #else 3210 /// <summary> 3211 /// Returns array row 3212 /// </summary> 3213 /// <param name="arr">Input array. </param> 3214 /// <param name="submat">Reference to the resulting sub-array header. </param> 3215 /// <param name="row">Zero-based index of the selected row. </param> 3216 /// <returns></returns> 3217 #endif 3168 3218 public static CvMat GetRow(this CvArr arr, out CvMat submat, int row) 3169 3219 { … … 3174 3224 return GetRows(arr, out submat, row, row + 1, 1); 3175 3225 } 3226 #if LANG_JP 3176 3227 /// <summary> 3177 3228 /// 指定された範囲の行(複数行)を返す … … 3182 3233 /// <param name="end_row">範囲の最後の(この値を含まない)行の,0を基準としたインデックス.</param> 3183 3234 /// <returns>指定された範囲の行</returns> 3184 public static CvMat GetRows(CvArr arr, out CvMat submat, int start_row, int end_row) 3235 #else 3236 /// <summary> 3237 /// Returns array row span 3238 /// </summary> 3239 /// <param name="arr">Input array. </param> 3240 /// <param name="submat">Reference to the resulting sub-array header. </param> 3241 /// <param name="start_row">Zero-based index of the starting row (inclusive) of the span. </param> 3242 /// <param name="end_row">Zero-based index of the ending row (exclusive) of the span. </param> 3243 /// <returns></returns> 3244 #endif 3245 public static CvMat GetRows(this CvArr arr, out CvMat submat, int start_row, int end_row) 3185 3246 { 3186 3247 return GetRows(arr, out submat, start_row, end_row, 1); 3187 3248 } 3249 #if LANG_JP 3188 3250 /// <summary> 3189 3251 /// 指定された範囲の行(複数行)を返す … … 3195 3257 /// <param name="delta_row">行の範囲のインデックス間隔. この関数は,start_rowからend_row(は含まない)まで,delta_row毎に行を抽出する. </param> 3196 3258 /// <returns>指定された範囲の行</returns> 3197 public static CvMat GetRows(CvArr arr, out CvMat submat, int start_row, int end_row, int delta_row) 3259 #else 3260 /// <summary> 3261 /// Returns array row span 3262 /// </summary> 3263 /// <param name="arr">Input array. </param> 3264 /// <param name="submat">Reference to the resulting sub-array header. </param> 3265 /// <param name="start_row">Zero-based index of the starting row (inclusive) of the span. </param> 3266 /// <param name="end_row">Zero-based index of the ending row (exclusive) of the span. </param> 3267 /// <param name="delta_row">Index step in the row span. That is, the function extracts every delta_row-th row from start_row and up to (but not including) end_row. </param> 3268 /// <returns></returns> 3269 #endif 3270 public static CvMat GetRows(this CvArr arr, out CvMat submat, int start_row, int end_row, int delta_row) 3198 3271 { 3199 3272 if (arr == null) … … 3260 3333 #endregion 3261 3334 #region GetSize 3335 #if LANG_JP 3262 3336 /// <summary> 3263 3337 /// 行列または画像の ROI のサイズを返す … … 3265 3339 /// <param name="arr">配列のヘッダ</param> 3266 3340 /// <returns>サイズ</returns> 3341 #else 3342 /// <summary> 3343 /// Returns size of matrix or image ROI 3344 /// </summary> 3345 /// <param name="arr">array header. </param> 3346 /// <returns></returns> 3347 #endif 3267 3348 public static CvSize GetSize(this CvArr arr) 3268 3349 { … … 3272 3353 } 3273 3354 return CvDll.cvGetSize(arr.CvPtr); 3355 } 3356 #endregion 3357 #region GetNextSparseNode 3358 #if LANG_JP 3359 /// <summary> 3360 /// 疎な配列において次の要素のポインタを返す 3361 /// </summary> 3362 /// <param name="mat_iterator">疎な配列のイテレータ.</param> 3363 /// <returns></returns> 3364 #else 3365 /// <summary> 3366 /// Moves iterator to the next sparse matrix element and returns pointer to it. 3367 /// </summary> 3368 /// <param name="mat_iterator">Sparse array iterator.</param> 3369 /// <returns></returns> 3370 #endif 3371 public static CvSparseNode GetNextSparseNode(this CvSparseMatIterator mat_iterator) 3372 { 3373 if (mat_iterator == null) 3374 { 3375 throw new ArgumentNullException("mat_iterator"); 3376 } 3377 IntPtr result = CvInline.cvGetNextSparseNode(mat_iterator.CvPtr); 3378 if (result == IntPtr.Zero) 3379 return null; 3380 else 3381 return new CvSparseNode(result); 3274 3382 } 3275 3383 #endregion … … 3303 3411 #endregion 3304 3412 #region GetSubRect 3413 #if LANG_JP 3305 3414 /// <summary> 3306 3415 /// 入力配列中の指定した矩形領域に相当するヘッダを返す. … … 3311 3420 /// <param name="rect">着目する矩形領域の,0 を基準とした座標</param> 3312 3421 /// <returns>結果として得られる部分配列のヘッダへの参照</returns> 3422 #else 3423 /// <summary> 3424 /// Returns matrix header corresponding to the rectangular sub-array of input image or matrix 3425 /// </summary> 3426 /// <param name="arr">Input array. </param> 3427 /// <param name="submat">Reference to the resultant sub-array header. </param> 3428 /// <param name="rect">Zero-based coordinates of the rectangle of interest. </param> 3429 /// <returns>Reference to the header, corresponding to a specified rectangle of the input array.</returns> 3430 #endif 3313 3431 public static CvMat GetSubRect(this CvArr arr, out CvMat submat, CvRect rect) 3314 3432 { -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Src/Core/Cv_H-Q.cs
r32739 r32782 996 996 } 997 997 #endregion 998 #region InitSparseMatIterator 999 #if LANG_JP 1000 /// <summary> 1001 /// 疎な配列要素のイテレータを初期化する 1002 /// </summary> 1003 /// <param name="mat">入力配列</param> 1004 /// <param name="mat_iterator">初期化されるイテレータ</param> 1005 /// <returns>疎な配列の先頭要素</returns> 1006 #else 1007 /// <summary> 1008 /// Initializes sparse array elements iterator 1009 /// </summary> 1010 /// <param name="mat">Input array</param> 1011 /// <param name="mat_iterator">Initialized iterator</param> 1012 /// <returns>the first sparse matrix element</returns> 1013 #endif 1014 public static CvSparseNode InitSparseMatIterator(CvSparseMat mat, out CvSparseMatIterator mat_iterator) 1015 { 1016 if (mat == null) 1017 { 1018 throw new ArgumentNullException("mat"); 1019 } 1020 mat_iterator = new CvSparseMatIterator(); 1021 return mat_iterator.Init(mat); 1022 } 1023 #endregion 998 1024 #region InitSubdivDelaunay2D 999 1025 /// <summary> -
lang/cpluspluscli/OpenCvSharp2/trunk/wrapped functions.csv
r32763 r32782 225 225 GetMinMaxHistValue;X; 226 226 GetModuleInfo;; 227 GetNextSparseNode; ;227 GetNextSparseNode;X; 228 228 GetNormalizedCentralMoment;X; 229 229 GetNumThreads;X; … … 276 276 InitMatNDHeader;; 277 277 InitMixSegm;; 278 InitSparseMatIterator; ;278 InitSparseMatIterator;X; 279 279 InitSystem;; 280 280 InitTreeNodeIterator;;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)