vector_Mat_new3() private method

private vector_Mat_new3 ( IntPtr data, IntPtr dataLength ) : IntPtr
data IntPtr
dataLength IntPtr
return IntPtr
コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="mats"></param>
        public VectorOfMat(IEnumerable <Mat> mats)
        {
            if (mats == null)
            {
                throw new ArgumentNullException("nameof(mats)");
            }

            var matPointers = EnumerableEx.SelectPtrs(mats);

            ptr = NativeMethods.vector_Mat_new3(matPointers, new IntPtr(matPointers.Length));
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="mats"></param>
        public VectorOfMat(IEnumerable <Mat> mats)
        {
            if (mats == null)
            {
                throw new ArgumentNullException(nameof(mats));
            }

            var matPointers = EnumerableEx.SelectPtrs(mats);

            using (var matPointersPointer = new ArrayAddress1 <IntPtr>(matPointers))
            {
                ptr = NativeMethods.vector_Mat_new3(
                    matPointersPointer.Pointer,
                    new IntPtr(matPointers.Length));
            }
        }
コード例 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="mats"></param>
        public VectorOfMat(IEnumerable <Mat> mats)
        {
            if (mats == null)
            {
                throw new ArgumentNullException(nameof(mats));
            }

            var matPointers = EnumerableEx.SelectPtrs(mats);

            using (var matPointersPointer = new ArrayAddress1 <IntPtr>(matPointers))
            {
                ptr = NativeMethods.vector_Mat_new3(
                    matPointersPointer.Pointer,
                    new IntPtr(matPointers.Length));
            }
            GC.KeepAlive(mats); // todo: rsb - should probably generate Mat[] and then get CvPtrs
        }
コード例 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="mats"></param>
        public VectorOfMat(IEnumerable <Mat> mats)
        {
            if (mats == null)
            {
                throw new ArgumentNullException(nameof(mats));
            }

            var matsArray   = EnumerableEx.ToArray(mats);
            var matPointers = EnumerableEx.SelectPtrs(matsArray);

            ptr = NativeMethods.vector_Mat_new3(
                matPointers,
                (uint)matPointers.Length);

            GC.KeepAlive(matPointers);
            GC.KeepAlive(mats); // todo: rsb - should probably generate Mat[] and then get CvPtrs
            foreach (var m in matsArray)
            {
                GC.KeepAlive(m);
            }
        }