Hi,
und zwar habe ich folgendes Problem. Ich habe mir eine Application gebastelt die Bilder von verschiedenen Quellen einließt. (Bitmap.FromFile() -> Zum Beispiel)
Da ich diese Bilder dann mit verschiedenen Algorithmen bearbeiten möchte (Laplace, Sobelfilter usw.) erstelle ich mir aus diesen eigelesenen Bildern Byte - Arrays. Habe im Internet ein relativ gutes Codefragment gefunden, dass dies mithilfe von Marshal.Copy bewerkstelligt. (Geht auch bei großen Bildern relativ schnell)
Nun habe ich aber ein Problem beim Verständnis der Byte - Reihenfolge der Bilder.
(Dazu ein Beispiel)
Wenn ich nun ein Bild habe das in RGB abgespeichert ist (PixelFormat.Format24bppRgb) habe ich ja pro Pixel drei Bytewerte. Wenn das Bild nun quadratisch ist, kann ich mithilfe von zwei einfachen for Schleifen durch das Bild durchiterieren. (Von oben links nach unten Rechts) Wenn das Bild aber nun nicht quadratisch sondern Rechteckig ist, kommt es auf das Bildformat an (jpg, png usw....)
Was ich nun eigentlich genau suche wäre eine Referenz wo beschrieben ist, wie ich von den unterschiedlichen Bildformaten die Bytes auslesen muss, damit ich diese auch sinnvoll bearbeiten kann!
Ich hoffe man kann mein Problem erahnen ^^
Anbei noch ein Bild, das es noch etwas klarer machen sollte!
(Es sind drei unterschiedliche Fotos drauf, bei denen ich einfach immer mit den gleichen beiden for Schleifen Pixel schwarz mache)
Mit freundlichen Grüßen
BaDo
hilfe.jpg
und zwar habe ich folgendes Problem. Ich habe mir eine Application gebastelt die Bilder von verschiedenen Quellen einließt. (Bitmap.FromFile() -> Zum Beispiel)
Da ich diese Bilder dann mit verschiedenen Algorithmen bearbeiten möchte (Laplace, Sobelfilter usw.) erstelle ich mir aus diesen eigelesenen Bildern Byte - Arrays. Habe im Internet ein relativ gutes Codefragment gefunden, dass dies mithilfe von Marshal.Copy bewerkstelligt. (Geht auch bei großen Bildern relativ schnell)
Nun habe ich aber ein Problem beim Verständnis der Byte - Reihenfolge der Bilder.
(Dazu ein Beispiel)
Wenn ich nun ein Bild habe das in RGB abgespeichert ist (PixelFormat.Format24bppRgb) habe ich ja pro Pixel drei Bytewerte. Wenn das Bild nun quadratisch ist, kann ich mithilfe von zwei einfachen for Schleifen durch das Bild durchiterieren. (Von oben links nach unten Rechts) Wenn das Bild aber nun nicht quadratisch sondern Rechteckig ist, kommt es auf das Bildformat an (jpg, png usw....)
Was ich nun eigentlich genau suche wäre eine Referenz wo beschrieben ist, wie ich von den unterschiedlichen Bildformaten die Bytes auslesen muss, damit ich diese auch sinnvoll bearbeiten kann!
Ich hoffe man kann mein Problem erahnen ^^
Anbei noch ein Bild, das es noch etwas klarer machen sollte!
(Es sind drei unterschiedliche Fotos drauf, bei denen ich einfach immer mit den gleichen beiden for Schleifen Pixel schwarz mache)
Mit freundlichen Grüßen
BaDo
hilfe.jpg
Comment