Exemple #1
0
        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());
        }
Exemple #2
0
 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);
 }
Exemple #3
0
        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());
        }