2 Stimmen

Gaußscher Weichzeichner auf einer Silverlight WriteableBitmap

Ich verwende eine WriteableBitmap in Silverlight als Werkzeug, um das Ergebnis eines meiner Algorithmen zum Zeichnen eines scheinbar flachen, zweidimensionalen, gleichmäßig verteilten Universums mit einer endlichen Menge an Materie vorübergehend zu speichern und am Ende zu zeichnen.

Um die Definitionen von "Universen" zu sehen (Abbildung 3): http://alienryderflex.com/homogeneity/

Ich verwende die Größenänderung von Bitmaps, um den Algorithmus anzunähern, und erreiche eine quadratische Beschleunigung bei linearem Qualitätsverlust.

Das Problem ist, dass ich das Bild mit einem Gauß'schen Weichzeichner bearbeiten müsste, um die Verpixelung nach dem Herunterskalieren und Hochskalieren zu verringern, was die Fehlerquote des Algorithmus erhöht, wenn es nicht vorhanden ist.

Sie können meine Testimplementierung sehen Hier .

Wenn Sie auf "Generate" und dann auf "Draw" drücken und etwa 20 Sekunden warten, werden Sie sehen, dass sogar bei der Ausgabe eine Pixelisierung zu sehen ist.

Aber ich brauche diese Ausgabe-Bitmap als "Materiedichtekarte" in einer zweiten Stufe des Algorithmus.

Also, wie mache ich einen Gaußschen Weichzeichner auf diese beschreibbaren Bitmaps? Ich möchte wirklich eine geeignete Implementierung zu finden, anstatt zu schreiben, meine eigene, die sehr zeitaufwendig auf ein Array von ints -> heiliger Christus keine Byte-Zeiger auf die Bilddaten sein würde?

Gracias.

Bearbeiten:

Um das klarzustellen: Ich brauche die gaußsche Unschärfe der Daten, um damit arbeiten zu können: nicht nur eine visuelle Unschärfe über dem Bild.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X