I am getting the following Exception at ProcessImage(bitmap1, bitmap2)
;
Unsupported Pixel Format of source or template image
and this is my code:
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;
}
I have also passed managedImage
from the below code into the method, but it still gives error:
UnmanagedImage unmanagedImageA = UnmanagedImage.FromManagedImage(bitmap1);
Bitmap managedImageA = unmanagedImageA.ToManagedImage();
UnmanagedImage unmanagedImageB = UnmanagedImage.FromManagedImage(bitmap2);
Bitmap managedImageB = unmanagedImageB.ToManagedImage();
- I have passed Images randomly from my computer, they all give exception.
- I have passed Blank Image edited in paint into the method,it still give exception.
- Also checked, jpeg, png, bmp formats, nothing work.
Try
ExhaustiveTemplateMatching
:So, those are the image formats you must use.
As requested, to convert to a specific pixel format, you can do this:
The one you would use is
System.Drawing.Imaging.PixelFormat.Format24bppRgb
.