/// <summary> /// implements generalized matrix product algorithm GEMM from BLAS /// </summary> /// <param name="src1"></param> /// <param name="src2"></param> /// <param name="alpha"></param> /// <param name="src3"></param> /// <param name="gamma"></param> /// <param name="dst"></param> /// <param name="flags"></param> public static void Gemm(InputArray src1, InputArray src2, double alpha, InputArray src3, double gamma, OutputArray dst, GemmFlags flags = GemmFlags.None) { if (src1 == null) throw new ArgumentNullException("src1"); if (src2 == null) throw new ArgumentNullException("src2"); if (src3 == null) throw new ArgumentNullException("src3"); if (dst == null) throw new ArgumentNullException("dst"); src1.ThrowIfDisposed(); src2.ThrowIfDisposed(); src3.ThrowIfDisposed(); dst.ThrowIfNotReady(); NativeMethods.core_gemm(src1.CvPtr, src2.CvPtr, alpha, src3.CvPtr, gamma, dst.CvPtr, (int)flags); GC.KeepAlive(src1); GC.KeepAlive(src2); GC.KeepAlive(src3); dst.Fix(); }
internal static extern void cvGEMM(Arr src1, Arr src2, double alpha, Arr src3, double beta, Arr dst, GemmFlags tABC);