Формат исходного пикселя не поддерживается фильтром в aforge.net.

Я пытаюсь разработать систему LPR, используя Aforge.net, я хочу применить фильтр к моему изображению, как вы можете видеть здесь:

            Bitmap a = new Bitmap(@"C:\Users\Public\Pictures\Sample Pictures\1.png");
            SobelEdgeDetector filter = new SobelEdgeDetector();
            filter.ApplyInPlace(a);
            pictureBox1.Image = a;

но после запуска я получил эту ошибку:

Source pixel format is not supported by the filter.

Я новичок в aforge.net.


person Ehsan Akbar    schedule 27.12.2015    source источник
comment
частное растровое изображение a= AForge.Imaging.Image.Clone(new Bitmap(@C:\Users\Public\Pictures\Sample Pictures\1.png), PixelFormat.Format24bppRgb); Это работает для меня   -  person Andi AR    schedule 22.08.2016


Ответы (1)


Как видно из этого API документации, фильтр SobolEdgeDetector поддерживает только изображения в градациях серого 8bpp.

Поэтому, чтобы применить фильтр, вам необходимо сначала преобразовать изображение в 8bpp и оттенки серого, например, так:

Bitmap a = AForge.Imaging.Image.Clone(
    new Bitmap(@"C:\Users\Public\Pictures\Sample Pictures\1.png"),
    PixelFormat.Format8bppIndexed);
AForge.Imaging.Image.SetGrayscalePalette(a);
person Anders Gustafsson    schedule 29.12.2015