Неподдерживаемый пиксельный формат исходного или шаблонного изображения. Изображение AForge

я получаю следующее исключение на ProcessImage(bitmap1, bitmap2);

Unsupported Pixel Format of source or template image

и это мой код:

public static double FindComparisonRatioBetweenImages(
    System.Drawing.Image one, System.Drawing.Image two)
{
    Bitmap bitmap1 = new Bitmap(one);
    Bitmap bitmap2 = new Bitmap(two);

    ExhaustiveTemplateMatching tm = new ExhaustiveTemplateMatching(0);
    TemplateMatch[] matchings = null;

    matchings = tm.ProcessImage(bitmap1, bitmap2); // Exception occurs here!

    return matchings[0].Similarity;
}

я тоже сдал managedImage из приведенного ниже кода в метод, но он по-прежнему дает ошибку:

UnmanagedImage unmanagedImageA = UnmanagedImage.FromManagedImage(bitmap1);
Bitmap managedImageA = unmanagedImageA.ToManagedImage();
UnmanagedImage unmanagedImageB = UnmanagedImage.FromManagedImage(bitmap2);
Bitmap managedImageB = unmanagedImageB.ToManagedImage();
  1. я случайно передал изображения с моего компьютера, все они дают исключение.
  2. я передал пустое изображение, отредактированное в paint в метод, он по-прежнему дает исключение.
  3. также проверено, форматы jpeg, png, bmp, ничего не работает.

1 ответов


попробовать ExhaustiveTemplateMatching:

класс реализует исчерпывающий алгоритм сопоставления шаблонов, который выполняет полное сканирование исходного изображения, сравнивая каждый пиксель с соответствующим пикселем шаблона.

класс обрабатывает только оттенки серого 8 бит, цветной 24 бит изображений.

Итак, это форматы изображений, которые вы должны использовать.

как спрошено, преобразовать к специфическому формату пиксела, вы можете сделать это:

public static Bitmap ConvertToFormat(this Image image, PixelFormat format)
{
    Bitmap copy = new Bitmap(image.Width, image.Height, format);
    using (Graphics gr = Graphics.FromImage(copy))
    {
        gr.DrawImage(image, new Rectangle(0, 0, copy.Width, copy.Height));
    }
    return copy;
}

вы когда-либо использовать System.Drawing.Imaging.PixelFormat.Format24bppRgb.