예제 #1
0
 /// <summary>
 /// decomposes matrix and stores the results to user-provided matrices
 /// </summary>
 /// <param name="src"></param>
 /// <param name="w"></param>
 /// <param name="u"></param>
 /// <param name="vt"></param>
 /// <param name="flags"></param>
 public static void Compute(InputArray src, OutputArray w,
                            OutputArray u, OutputArray vt, SVDFlag flags = SVDFlag.None)
 {
     if (src == null)
     {
         throw new ArgumentNullException(nameof(src));
     }
     if (w == null)
     {
         throw new ArgumentNullException(nameof(w));
     }
     if (u == null)
     {
         throw new ArgumentNullException(nameof(u));
     }
     if (vt == null)
     {
         throw new ArgumentNullException(nameof(vt));
     }
     src.ThrowIfDisposed();
     w.ThrowIfNotReady();
     u.ThrowIfNotReady();
     vt.ThrowIfNotReady();
     NativeMethods.core_SVD_static_compute(src.CvPtr, w.CvPtr, u.CvPtr, vt.CvPtr, (int)flags);
     w.Fix();
     u.Fix();
     vt.Fix();
 }
예제 #2
0
파일: SVD.cs 프로젝트: 0sv/opencvsharp
 /// <summary>
 /// the constructor that performs SVD
 /// </summary>
 /// <param name="src"></param>
 /// <param name="flags"></param>
 public SVD(InputArray src, SVDFlag flags = SVDFlag.None)
 {
     if (src == null)
         throw new ArgumentNullException("src");
     src.ThrowIfDisposed();
     ptr = NativeMethods.core_SVD_new(src.CvPtr, (int)flags);
 }
예제 #3
0
 /// <summary>
 /// the constructor that performs SVD
 /// </summary>
 /// <param name="src"></param>
 /// <param name="flags"></param>
 public SVD(InputArray src, SVDFlag flags = SVDFlag.None)
 {
     if (src == null)
     {
         throw new ArgumentNullException(nameof(src));
     }
     src.ThrowIfDisposed();
     ptr = NativeMethods.core_SVD_new(src.CvPtr, (int)flags);
 }
예제 #4
0
 /// <summary>
 /// the operator that performs SVD. The previously allocated SVD::u, SVD::w are SVD::vt are released.
 /// </summary>
 /// <param name="src"></param>
 /// <param name="flags"></param>
 /// <returns></returns>
 public SVD Run(InputArray src, SVDFlag flags = SVDFlag.None)
 {
     if (disposed)
     {
         throw new ObjectDisposedException("SVD");
     }
     if (src == null)
     {
         throw new ArgumentNullException(nameof(src));
     }
     src.ThrowIfDisposed();
     NativeMethods.core_SVD_operatorThis(ptr, src.CvPtr, (int)flags);
     return(this);
 }
예제 #5
0
파일: SVD.cs 프로젝트: tuanthng/opencvsharp
 /// <summary>
 /// computes singular values of a matrix
 /// </summary>
 /// <param name="src"></param>
 /// <param name="w"></param>
 /// <param name="flags"></param>
 public static void Compute(InputArray src, OutputArray w, SVDFlag flags = SVDFlag.None)
 {
     if (src == null)
     {
         throw new ArgumentNullException("src");
     }
     if (w == null)
     {
         throw new ArgumentNullException("w");
     }
     src.ThrowIfDisposed();
     w.ThrowIfNotReady();
     NativeMethods.core_SVD_static_compute(src.CvPtr, w.CvPtr, (int)flags);
     w.Fix();
 }
예제 #6
0
 public static extern void cvSVD(IntPtr A, IntPtr W, IntPtr U, IntPtr V, SVDFlag flags);
예제 #7
0
 public static extern void cvSVBkSb(IntPtr W, IntPtr U, IntPtr V, IntPtr B, IntPtr X, SVDFlag flags);
예제 #8
0
 /// <summary>
 /// computes SVD of src
 /// </summary>
 /// <param name="src"></param>
 /// <param name="w"></param>
 /// <param name="u"></param>
 /// <param name="vt"></param>
 /// <param name="flags"></param>
 public static void SVDecomp(InputArray src, OutputArray w,
     OutputArray u, OutputArray vt, SVDFlag flags = SVDFlag.None)
 {
     if (src == null)
         throw new ArgumentNullException("src");
     if (w == null)
         throw new ArgumentNullException("w");
     if (u == null)
         throw new ArgumentNullException("u");
     if (vt == null)
         throw new ArgumentNullException("vt");
     src.ThrowIfDisposed();
     w.ThrowIfNotReady();
     u.ThrowIfNotReady();
     vt.ThrowIfNotReady();
     NativeMethods.core_SVDecomp(src.CvPtr, w.CvPtr, u.CvPtr, vt.CvPtr, (int)flags);
     w.Fix();
     u.Fix();
     vt.Fix();
 }
예제 #9
0
파일: SVD.cs 프로젝트: 0sv/opencvsharp
 /// <summary>
 /// computes singular values of a matrix
 /// </summary>
 /// <param name="src"></param>
 /// <param name="w"></param>
 /// <param name="flags"></param>
 public static void Compute(InputArray src, OutputArray w, SVDFlag flags = SVDFlag.None)
 {
     if (src == null)
         throw new ArgumentNullException("src");
     if (w == null)
         throw new ArgumentNullException("w");
     src.ThrowIfDisposed();
     w.ThrowIfNotReady();
     NativeMethods.core_SVD_static_compute(src.CvPtr, w.CvPtr, (int)flags);
     w.Fix();
 }
예제 #10
0
파일: SVD.cs 프로젝트: 0sv/opencvsharp
 /// <summary>
 /// the operator that performs SVD. The previously allocated SVD::u, SVD::w are SVD::vt are released.
 /// </summary>
 /// <param name="src"></param>
 /// <param name="flags"></param>
 /// <returns></returns>
 public SVD Run(InputArray src, SVDFlag flags = SVDFlag.None)
 {
     if (disposed)
         throw new ObjectDisposedException("SVD");
     if (src == null)
         throw new ArgumentNullException("src");
     src.ThrowIfDisposed();
     NativeMethods.core_SVD_operatorThis(ptr, src.CvPtr, (int)flags);
     return this;
 }