Heute wurde folgender Fehler bei der Verwendung von aforgr.net zur Bildverarbeitung gemeldet:
Nicht unterstütztes Pixelformat des Quell- oder Vorlagenbildes Das Pixelformat wird für das Quell- oder Vorlagenbild nicht unterstützt.
Ich habe eine Lösung in einem ausländischen Forum gefunden:
Die Klasse implementiert einen exhaustiven Template-Matching-Algorithmus, der einen vollständigen Scan des Quellbilds durchführt und jedes Pixel mit dem entsprechenden Pixel der Vorlage vergleicht.
Die Klasse verarbeitet nur Bilder mit 8 Graustufen und Farben mit 24 bpp. Das sind also die Bildformate, die Sie verwenden müssen.
Wie gewünscht, um in ein bestimmtes Pixelformat zu konvertieren, kannst du Folgendes tun:
öffentliche statische Bitmap ConvertToFormat (dieses Bildbild, PixelFormat format) { Bitmap-Kopieren = neues Bitmap(Bild. Breite, Bild. Höhe, Format); using (Graphics gr = Graphics.FromImage(copy)) { Gr. DrawImage(image, new Rectangle(0, 0, kopiere. Breite, verstanden. Height)); } Rücksendeexemplar; } Die chinesische Übersetzung lautet wie folgt: Class implementiert einen vollständigen Template-Matching-Algorithmus für gescannte Bilder, bei dem jedes Pixel mit der Vorlage des entsprechenden Pixels verglichen wird.
Die Klasse kann nur Graustufen- und Farbbilder24 8 BPP BPP verarbeiten. Das sind also die Bildformate, die Sie verwenden müssen. Wie erforderlich, kann durch die Konvertierung in ein bestimmtes Pixelformat folgendes geschehen: Öffentliche statische Bitmap-Konvertierung in Format (dieses Bild, Pixelformat)
{ Bitmap copy = neue Bitmap (image.width, image. Höhe, Format); Verwendung (grafische GR = grafische Abbildung (Kopie)). )
{ gr.drawimage(Bild, neues Rechteck (0,0, Breite, Höhe kopieren. Verstanden. ));
} Zurück zur Kopie;
}
|