public void SeedsSimple() { using var image = Image("building.jpg", ImreadModes.Grayscale); using var seeds = SuperpixelSEEDS.Create( image.Width, image.Height, image.Channels(), image.Width * image.Height, 3); seeds.Iterate(image, 10); var superpixels = seeds.GetNumberOfSuperpixels(); Assert.True(superpixels > 0, $"GetNumberOfSuperpixels() => {superpixels}"); using var labels = new Mat(); seeds.GetLabels(labels); Assert.False(labels.Empty()); Assert.Equal(image.Size(), labels.Size()); Assert.Equal(MatType.CV_32SC1, labels.Type()); using var labelContourMask1 = new Mat(); using var labelContourMask2 = new Mat(); seeds.GetLabelContourMask(labelContourMask1, true); seeds.GetLabelContourMask(labelContourMask2, false); Assert.False(labelContourMask1.Empty()); Assert.False(labelContourMask2.Empty()); }
public void SeedsNew() { using var image = Image("building.jpg", ImreadModes.Grayscale); using var seeds = SuperpixelSEEDS.Create( image.Width, image.Height, image.Channels(), image.Width * image.Height, 3); GC.KeepAlive(seeds); }
public void SeedsSimple() { // TODO // [ WARN:0] global /home/runner/work/opencvsharp/opencvsharp/opencv-4.3.0/modules/core/src/matrix_expressions.cpp (1334) // assign OpenCV/MatExpr: processing of multi-channel arrays might be changed in the future: https://github.com/opencv/opencv/issues/16739 if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { return; } using var image = Image("building.jpg", ImreadModes.Grayscale); using var seeds = SuperpixelSEEDS.Create( image.Width, image.Height, image.Channels(), image.Width * image.Height, 3); seeds.Iterate(image, 10); var superpixels = seeds.GetNumberOfSuperpixels(); Assert.True(superpixels > 0, $"GetNumberOfSuperpixels() => {superpixels}"); using var labels = new Mat(); seeds.GetLabels(labels); Assert.False(labels.Empty()); Assert.Equal(image.Size(), labels.Size()); Assert.Equal(MatType.CV_32SC1, labels.Type()); using var labelContourMask1 = new Mat(); using var labelContourMask2 = new Mat(); seeds.GetLabelContourMask(labelContourMask1, true); seeds.GetLabelContourMask(labelContourMask2, false); Assert.False(labelContourMask1.Empty()); Assert.False(labelContourMask2.Empty()); }