Wie kann ich diesen Histogrammkurs beschleunigen?
Dies soll das Histogramm eines 8-Bit-Graustufenbildes berechnen. Bei einer 1024x770-Testbitmap erreicht CreateTime ungefähr 890 ms. Wie kann ich das beschleunigen?
EDIT: Ich sollte erwähnen, dass dies das Histogramm noch nicht berechnet, sondern nur die Werte aus der Bitmap abruft. Ich hätte also wirklich fragen sollen, wie man am schnellsten alle Pixelwerte aus einem 8-Bit-Graustufenbild abruft.
<code>public class Histogram { private static int[,] values; public Histogram(Bitmap b) { var sw = Stopwatch.StartNew(); values = new int[b.Width, b.Height]; for (int w = 0; w < b.Width; ++w) { for (int h = 0; h < b.Height; ++h) { values[w, h] = b.GetPixel(w, h).R; } } sw.Stop(); CreateTime = (sw.ElapsedTicks / (double)Stopwatch.Frequency) * 1000; } public double CreateTime { get; set; } } </code>