Changeset 32253
- Timestamp:
- 04/10/09 21:57:06 (4 years ago)
- Location:
- lang/cpluspluscli/OpenCvSharp2/trunk
- Files:
-
- 7 modified
-
OpenCvSharp.Extern/Stdafx.h (modified) (2 diffs)
-
OpenCvSharp/Class/CvPOSITObject.cs (modified) (4 diffs)
-
OpenCvSharp/Core/CvDll.cs (modified) (3 diffs)
-
OpenCvSharp/Core/Cv_A-C.cs (modified) (3 diffs)
-
OpenCvSharp/Core/Cv_H-Q.cs (modified) (1 diff)
-
OpenCvSharp/Core/Cv_R-Z.cs (modified) (14 diffs)
-
OpenCvSharp/CvArr/IplImage.cs (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp.Extern/Stdafx.h
r31867 r32253 28 28 29 29 30 // CvCapture , CvVideoWriter, CvFileStorage, _CvContourScannerの定義が、30 // CvCapture などの定義が、 31 31 // typedef struct CvCapture CvCapture 32 32 // といったBlackBoxで、これにより警告が出るので抑止 … … 35 35 struct CvFileStorage {}; 36 36 struct _CvContourScanner {}; 37 struct CvPOSITObject {}; -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Class/CvPOSITObject.cs
r32215 r32253 6 6 namespace KwsmLab.OpenCvSharp 7 7 { 8 class CvPOSITObject: DisposableObject, ICvPtrHolder 8 /// <summary> 9 /// 10 /// </summary> 11 public class CvPOSITObject : DisposableObject, ICvPtrHolder 9 12 { 10 /// <summary>11 /// C++/CLI access to object`s pointer12 /// </summary>13 private Extern.WCvPOSITObject data;14 13 /// <summary> 15 14 /// Pointer … … 18 17 19 18 #region Init and disposal 20 /*21 19 #if LANG_JP 22 20 /// <summary> 23 /// 21 /// cvCreatePOSITObjectで初期化 22 /// </summary> 23 /// <param name="points">3次元オブジェクトモデル上の点データの配列/param> 24 #else 25 /// <summary> 26 /// Constructor (cvCreatePOSITObject) 27 /// </summary> 28 /// <param name="points">Points of the 3D object model. </param> 29 #endif 30 public CvPOSITObject(CvPoint3D32f[] points) 31 { 32 if (points == null) 33 { 34 throw new ArgumentNullException("points"); 35 } 36 this.ptr = CvDll.cvCreatePOSITObject(points, points.Length); 37 if (this.ptr == IntPtr.Zero) 38 { 39 throw new OpenCvSharpException(); 40 } 41 } 42 #if LANG_JP 43 /// <summary> 44 /// ポインタから初期化 24 45 /// </summary> 25 46 #else 26 47 /// <summary> 27 /// Empty constructor 28 /// </summary> 29 #endif 30 public CvPOSITObject() 31 { 32 IntPtr ptr = AllocMemory(SizeOf); 33 this.data = new Extern.WCvPOSITObject(ptr); 34 this.ptr = data.Ptr; 35 }*/ 36 #if LANG_JP 37 /// <summary> 38 /// 39 /// </summary> 40 #else 41 /// <summary> 42 /// Constructor 48 /// Constructs from pointer 43 49 /// </summary> 44 50 /// <param name="ptr">struct CvPOSITObject*</param> … … 46 52 public CvPOSITObject(IntPtr ptr) 47 53 { 48 this.data = new Extern.WCvPOSITObject(ptr);49 54 this.ptr = ptr; 55 } 56 57 #if LANG_JP 58 /// <summary> 59 /// リソースの解放 60 /// </summary> 61 #else 62 /// <summary> 63 /// cvReleasePOSITObject 64 /// </summary> 65 #endif 66 public override void Dispose() 67 { 68 if (!IsDisposed && IsEnabledDispose) 69 { 70 CvDll.cvReleasePOSITObject(ref this.ptr); 71 } 72 base.Dispose(); 50 73 } 51 74 #endregion … … 65 88 get { return ptr; } 66 89 } 67 /// <summary>68 /// sizeof(CvPOSITObject)69 /// </summary>70 //public const Int32 SizeOf = Extern.WCvPOSITObject.SizeOf;71 72 73 90 #endregion 74 91 -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Core/CvDll.cs
r32249 r32253 109 109 public static extern IntPtr cvCreateKalman(int dynam_params, int measure_params, int control_params); 110 110 [DllImport(DLL_CV)] 111 public static extern IntPtr cvCreatePOSITObject( CvPoint3D32f[] points, int point_count);111 public static extern IntPtr cvCreatePOSITObject([In] CvPoint3D32f[] points, int point_count); 112 112 [DllImport(DLL_CV)] 113 113 public static extern IntPtr cvCreateStereoBMState(StereoBMPreset type, int numberOfDisparities); … … 219 219 public static extern void cvNormalizeHist(IntPtr hist, double factor); 220 220 [DllImport(DLL_CV)] 221 public static extern void cvPOSIT(IntPtr posit_object, CvPoint2D32f[] image_points, double focal_length, CvTermCriteria criteria, [MarshalAs(UnmanagedType.LPArray)] float[ ,] rotation_matrix, [MarshalAs(UnmanagedType.LPArray)] float[] translation_vector);221 public static extern void cvPOSIT(IntPtr posit_object, CvPoint2D32f[] image_points, double focal_length, CvTermCriteria criteria, [MarshalAs(UnmanagedType.LPArray)] float[] rotation_matrix, [MarshalAs(UnmanagedType.LPArray)] float[] translation_vector); 222 222 [DllImport(DLL_CV)] 223 223 public static extern void cvPreCornerDetect(IntPtr image, IntPtr corners, [MarshalAs(UnmanagedType.U4)] ApertureSize aperture_size); … … 240 240 [DllImport(DLL_CV)] 241 241 public static extern void cvReleaseKalman(ref IntPtr kalman); 242 [DllImport(DLL_CV)] 243 public static extern void cvReleasePOSITObject(ref IntPtr posit_object); 242 244 [DllImport(DLL_CV)] 243 245 public static extern void cvReleaseStereoBMState(ref IntPtr state); -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Core/Cv_A-C.cs
r32215 r32253 3398 3398 #if LANG_JP 3399 3399 /// <summary> 3400 /// 3401 /// </summary> 3402 /// <param name="points"> </param>3400 /// オブジェクトの情報を持つ構造体を初期化する 3401 /// </summary> 3402 /// <param name="points">3次元オブジェクトモデル上の点データの配列</param> 3403 3403 /// <returns></returns> 3404 3404 #else … … 3415 3415 #if LANG_JP 3416 3416 /// <summary> 3417 /// 3418 /// </summary> 3419 /// <param name="points"> </param>3420 /// <param name="point_count"> </param>3417 /// オブジェクトの情報を持つ構造体を初期化する 3418 /// </summary> 3419 /// <param name="points">3次元オブジェクトモデル上の点データの配列</param> 3420 /// <param name="point_count">オブジェクト上の点データの数</param> 3421 3421 /// <returns></returns> 3422 3422 #else … … 3430 3430 public static CvPOSITObject CreatePOSITObject(CvPoint3D32f[] points, int point_count) 3431 3431 { 3432 return new CvPOSITObject(CvDll.cvCreatePOSITObject(points, point_count)); 3432 if(points == null){ 3433 throw new ArgumentNullException("points"); 3434 } 3435 IntPtr ptr = CvDll.cvCreatePOSITObject(points, point_count); 3436 if (ptr == IntPtr.Zero) 3437 return null; 3438 else 3439 return new CvPOSITObject(ptr); 3433 3440 } 3434 3441 #endregion -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Core/Cv_H-Q.cs
r32215 r32253 2781 2781 #else 2782 2782 /// <summary> 2783 /// Projects vectors to the specified subspace 2784 /// </summary> 2785 /// <param name="data">The input data; each vector is either a single row or a single column. </param> 2786 /// <param name="avg">The mean (average) vector. If it is a single-row vector, it means that the output vectors are stored as rows of result; otherwise, it should be a single-column vector, then the vectors are stored as columns of result. </param> 2787 /// <param name="eigenvects">The eigenvectors (principal components); one vector per row. </param> 2788 /// <param name="result">The output matrix of decomposition coefficients. The number of rows must be the same as the number of vectors, the number of columns must be less than or equal to the number of rows in eigenvectors. That it is less, the input vectors are projected into subspace of the first cols(result) principal components.</param> 2789 /// <returns></returns> 2790 #endif 2791 public static void POSIT(CvArr data, CvArr avg, CvArr eigenvects, CvArr result) 2792 { 2793 if (data == null) 2794 { 2795 throw new ArgumentNullException("data"); 2796 } 2797 if (avg == null) 2798 { 2799 throw new ArgumentNullException("avg"); 2800 } 2801 if (eigenvects == null) 2802 { 2803 throw new ArgumentNullException("eigenvects"); 2804 } 2805 CvDll.cvPOSIT(data.CvPtr, avg.CvPtr, eigenvects.CvPtr, result.CvPtr); 2783 /// TODO 2784 /// </summary> 2785 /// <param name="posit_object"></param> 2786 /// <param name="image_points"></param> 2787 /// <param name="focal_length"></param> 2788 /// <param name="criteria"></param> 2789 /// <param name="rotation_matrix"></param> 2790 /// <param name="translation_vector"></param> 2791 #endif 2792 public static void POSIT(this CvPOSITObject posit_object, CvPoint2D32f[] image_points, double focal_length, 2793 CvTermCriteria criteria, float[] rotation_matrix, float[] translation_vector) 2794 { 2795 if (posit_object == null) 2796 throw new ArgumentNullException("posit_object"); 2797 if (rotation_matrix == null) 2798 throw new ArgumentNullException("rotation_matrix"); 2799 if (translation_vector == null) 2800 throw new ArgumentNullException("translation_vector"); 2801 2802 //CvDll.cvPOSIT(posit_object.CvPtr); 2806 2803 } 2807 2804 #endregion -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Core/Cv_R-Z.cs
r32249 r32253 522 522 public static void ReleaseCapture(CvCapture capture) 523 523 { 524 if (capture == null) 525 { 526 throw new ArgumentNullException("capture"); 527 } 528 capture.Dispose(); 524 if (capture != null) 525 { 526 capture.Dispose(); 527 } 529 528 } 530 529 #endregion … … 537 536 public static void ReleaseData(this CvArr arr) 538 537 { 539 if (arr == null) 540 { 541 throw new ArgumentNullException("arr"); 542 } 543 CvDll.cvReleaseData(arr.CvPtr); 538 if (arr != null) 539 { 540 CvDll.cvReleaseData(arr.CvPtr); 541 } 544 542 } 545 543 #endregion … … 552 550 public static void ReleaseFileStorage(CvFileStorage fs) 553 551 { 554 if (fs == null) 555 { 556 throw new ArgumentNullException("fs"); 557 } 558 fs.Dispose(); 552 if (fs != null) 553 { 554 fs.Dispose(); 555 } 559 556 } 560 557 #endregion … … 566 563 public static void ReleaseHaarClassifierCascade(CvHaarClassifierCascade cascade) 567 564 { 568 if (cascade == null) 569 { 570 throw new ArgumentNullException("cascade"); 571 } 572 cascade.Dispose(); 565 if (cascade != null) 566 { 567 cascade.Dispose(); 568 } 573 569 } 574 570 #endregion … … 588 584 public static void ReleaseHist(CvHistogram hist) 589 585 { 590 if (hist == null) 591 { 592 throw new ArgumentNullException("hist"); 593 } 594 hist.Dispose(); 586 if (hist != null) 587 { 588 hist.Dispose(); 589 } 595 590 } 596 591 #endregion … … 602 597 public static void ReleaseImage(IplImage image) 603 598 { 604 if (image == null) 605 { 606 throw new ArgumentNullException("image"); 607 } 608 image.Dispose(); 599 if (image != null) 600 { 601 image.Dispose(); 602 } 609 603 } 610 604 #endregion … … 616 610 public static void ReleaseImageHeader(IplImage image) 617 611 { 618 if (image == null) 619 { 620 throw new ArgumentNullException("image"); 621 } 622 IntPtr ptr = image.CvPtr; 623 CvDll.cvReleaseImageHeader(ref ptr); 612 if (image != null) 613 { 614 IntPtr ptr = image.CvPtr; 615 CvDll.cvReleaseImageHeader(ref ptr); 616 } 624 617 } 625 618 #endregion … … 639 632 public static void ReleaseKalman(CvKalman kalman) 640 633 { 641 if (kalman == null) 642 { 643 throw new ArgumentNullException("kalman"); 644 } 645 kalman.Dispose(); 634 if (kalman != null) 635 { 636 kalman.Dispose(); 637 } 646 638 } 647 639 #endregion … … 653 645 public static void ReleaseMat(CvMat mat) 654 646 { 655 if (mat == null) 656 { 657 throw new ArgumentNullException("mat"); 658 } 659 mat.Dispose(); 647 if (mat != null) 648 { 649 mat.Dispose(); 650 } 660 651 } 661 652 #endregion … … 667 658 public static void ReleaseMatND(CvMatND mat) 668 659 { 669 if (mat == null) 670 { 671 throw new ArgumentNullException("mat"); 672 } 673 mat.Dispose(); 660 if (mat != null) 661 { 662 mat.Dispose(); 663 } 674 664 } 675 665 #endregion … … 683 673 public static void ReleaseMemStorage(CvMemStorage storage) 684 674 { 685 if (storage == null) 686 { 687 throw new ArgumentNullException("storage"); 688 } 689 storage.Dispose(); 675 if (storage != null) 676 { 677 storage.Dispose(); 678 } 679 } 680 #endregion 681 #region ReleasePOSITObject 682 #if LANG_JP 683 /// <summary> 684 /// 3次元オブジェクト構造体のメモリを解放する 685 /// </summary> 686 /// <param name="posit_object">構造体 CvPOSIT への参照</param> 687 #else 688 /// <summary> 689 /// Deallocates 3D object structure 690 /// </summary> 691 /// <param name="posit_object">Reference to CvPOSIT structure.</param> 692 #endif 693 public static void ReleasePOSITObject(CvPOSITObject posit_object) 694 { 695 if (posit_object != null) 696 { 697 posit_object.Dispose(); 698 } 690 699 } 691 700 #endregion … … 697 706 public static void ReleaseMatND(CvSparseMat mat) 698 707 { 699 if (mat == null) 700 { 701 throw new ArgumentNullException("mat"); 702 } 703 mat.Dispose(); 708 if (mat != null) 709 { 710 mat.Dispose(); 711 } 704 712 } 705 713 #endregion … … 719 727 public static void ReleaseStructuringElement(IplConvKernel element) 720 728 { 721 if (element == null) 722 { 723 throw new ArgumentNullException("element"); 724 } 725 element.Dispose(); 729 if (element != null) 730 { 731 element.Dispose(); 732 } 726 733 } 727 734 #endregion … … 740 747 public static void ReleaseVideoWriter(CvVideoWriter writer) 741 748 { 742 if (writer == null) 743 { 744 throw new ArgumentNullException("writer"); 745 } 746 writer.Dispose(); 749 if (writer != null) 750 { 751 writer.Dispose(); 752 } 747 753 } 748 754 #endregion -
lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/CvArr/IplImage.cs
r32115 r32253 28 28 29 29 30 #region 初期化と解放30 #region Initialization and Disposal 31 31 #if LANG_JP 32 32 /// <summary> … … 137 137 138 138 139 #region プロパティ139 #region Properties 140 140 /// <summary> 141 141 /// sizeof(IplImage) … … 150 150 } 151 151 152 #region ネイティブの構造体準拠のプロパティ152 #region Native members 153 153 #if LANG_JP 154 154 /// <summary> … … 479 479 get { return 2; } 480 480 } 481 #if LANG_JP 482 /// <summary> 483 /// 画像の色深度 (Bits per pixel) 484 /// </summary> 485 #else 486 /// <summary> 487 /// Bits per pixel 488 /// </summary> 489 #endif 490 public int Bpp 491 { 492 get { return (ptr != IntPtr.Zero) ? (data.depth & 255) * data.nChannels : 0; } 493 } 481 494 #endregion 482 495 483 496 484 #region 演算子497 #region Operators 485 498 /// <summary> 486 499 /// 行列の単項+演算子 … … 741 754 742 755 743 #region OpenCV メソッド756 #region Methods 744 757 #region Clone 745 758 /// <summary>
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)