Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.167 Beiträge
 
Delphi 12 Athens
 
#30

Re: Verlustfreies Zoomen von Bildern (Interpolieren)

  Alt 20. Okt 2003, 21:56
Scharf bekommt man die gezoomten Bilder nicht beim interpolieren.
Die einzige Möglichkeit in deinem Bild scharfe Kanten zu bekommen ist den linken Button [Zoom] zu benutzen.

Mit X2/Y2 lege ich fest, welche 4 Pixel für die Berechnung des neuen Pixels verwendet werden.
Und mit der "Wertigkeit" wird bestimmt welchen Einfluss diese Pixel auf den neuen Farbwert haben.
D.h. je näher ein Pixel ist, desto größer ist auch dessen Einfluss.

Hab' mal im Beispielbild eine Vergrößerung von 5 gewählt, um es einfach zu halten.
In diesem 3x3 Pixel großen Bild sind die "Hauptpixel" und der Farbverlauf zwischen den 4 Pixeln unten rechts eingezeichnet.
Hier ist auch erkennbar das, wenn ein berechnetes Pixel einem "Hauptpixel" näher kommt es ihm immer ähnlicher wird.

Hierbei sollte aber auch erkennbar werden, dass am rechten und unteren Rand des Bildes sich ein Fehler einschleicht, da hier die Farbwerte mit den Randpixeln und Pixeln außerhalb des Bildes berechnet werden.
Diesen Fehler hab ich aber nicht behoben, um euch die Arbeit und das erkennen des Prinzips nicht zu erschweren.
Es handelt sich dabei um einen Rand von Aufrunden(eins * Zoomfaktor[%]) Pixeln. Und da die Pixel außerhalb des BitMaps als schwarz erkannt werden, gibt es dort einen schwarzen Farbverlauf in Richtung Bildrand. (fällt also kaum auf)
Wenn ihr irgendwann mal diesen "unbedeutenden" Fehler beheben wollt, könnt ich euch melden. Die Adresse habt ihr ja.


Die einzige Möglichkeit die ich sehe, das Bild zu gleich scharf und nicht pixelig zu bekommen, währe so etwas wie 'ne KI zu verwenden. Die dann entscheidet, wann ein scharfer oder ein weicher Übergang nötig ist.


Also dann noch viel Spaß damit.
Angehängte Grafiken
Dateityp: bmp beispiel_546.bmp (107,0 KB, 41x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat