static void Main(string[] args) { SparseMat sm = new SparseMat(new int[] { 1, 1 }, MatType.CV_8UC3); sm.Ref <Vec3b>()[99, 1000] = new Vec3b(100, 0, 0); Console.WriteLine(sm.Find <Vec3b>(99, 1000).Value.Item0); }
public void CreateAndDispose() { using (var sm = new SparseMat(new[] { 10, 20 }, MatType.CV_64FC1)) { GC.KeepAlive(sm); } }
public void Dims() { using (var sm = new SparseMat(new[] { 10, 20 }, MatType.CV_16SC1)) { Assert.Equal(2, sm.Dims()); } }
public void ConvertToMat() { using (var sm = new SparseMat(new[] { 10, 20 }, MatType.CV_8UC1)) using (var m = new Mat()) { sm.ConvertTo(m, MatType.CV_8UC1); Assert.Equal(10, m.Rows); Assert.Equal(20, m.Cols); } }
public void Channels() { using (var sm = new SparseMat(new[] { 10, 20 }, MatType.CV_32FC4)) { Assert.Equal(4, sm.Channels()); } using (var sm = new SparseMat(new[] { 10, 20 }, MatType.CV_16SC2)) { Assert.Equal(2, sm.Channels()); } }
public void SparseMatIterator_CorrectlyEnumeratesSparseElementNodes() { using (var mat = new SparseMat(new[] { 3, 3 }, Depth.F32, 2)) { var testValue = new Scalar(3, 5); mat[1, 1] = testValue; foreach (var node in mat.GetSparseNodes()) { Assert.AreEqual(testValue, node.Value); } } }
static void Main(string[] args) { SparseMat sm = new SparseMat(new int[] { 1, 1 }, MatType.CV_32F); SparseMat.Indexer <Vec3f> indexer = sm.GetIndexer <Vec3f>(); //SparseMat.Indexer<Vec3f> indexer = sm.Ref<Vec3f>(); indexer[0, 0] = new Vec3f(4, 5, 6); //sm.GetIndexer<Vec3f>()[0, 0] = new Vec3f(4, 5, 6); Console.WriteLine(sm.Get <Vec3f>(0, 0).Item0); Console.WriteLine(sm.Get <Vec3f>(0, 0).Item1); Console.WriteLine(sm.Get <Vec3f>(0, 0).Item2); }
protected override Arr CreateArr(int channels, Depth depth, int dim0, int dim1) { return(mat = new SparseMat(new[] { dim0, dim1 }, depth, channels)); }
/// <summary> /// /// </summary> /// <param name="defaultMat"></param> /// <returns></returns> public SparseMat ReadSparseMat(SparseMat defaultMat = null) { var value = new SparseMat(); try { NativeMethods.core_FileNode_read_SparseMat(ptr, value.CvPtr, Cv2.ToPtr(defaultMat)); } catch { value.Dispose(); throw; } return value; }
/// <summary> /// Constructor /// </summary> /// <param name="parent"></param> internal SparseMatIndexer(SparseMat parent) { Parent = parent; }
/// <summary> /// Constructor /// </summary> /// <param name="parent"></param> internal SparseMatIndexer(SparseMat parent) { this.parent = parent; }
internal static extern IntPtr cvInitSparseMatIterator(SparseMat mat, out _CvSparseMatIterator mat_iterator);
internal static extern IntPtr cvCloneSparseMat(SparseMat mat);
/// <summary> /// /// </summary> /// <param name="node"></param> /// <param name="defaultMat"></param> /// <returns></returns> public static SparseMat ReadSparseMat(FileNode node, SparseMat defaultMat = null) { if (node == null) throw new ArgumentNullException(nameof(node)); return node.ReadSparseMat(defaultMat); }
/// <summary> /// /// </summary> /// <param name="fs"></param> /// <param name="name"></param> /// <param name="value"></param> public static void Write(FileStorage fs, string name, SparseMat value) { if (fs == null) throw new ArgumentNullException(nameof(fs)); fs.Write(name, value); }
/// <summary> /// /// </summary> /// <param name="name"></param> /// <param name="value"></param> public void Write(string name, SparseMat value) { if (name == null) throw new ArgumentNullException(nameof(name)); if (value == null) throw new ArgumentNullException(nameof(value)); NativeMethods.core_FileStorage_write_SparseMat(ptr, name, value.CvPtr); GC.KeepAlive(value); }