Entwickler-Ecke

Multimedia / Grafik - Bitmaps (bi)kubisch interpolieren


Andreas Pfau - Fr 03.10.03 21:52
Titel: Bitmaps (bi)kubisch interpolieren
Hallo,

ich weiß, wie man Bitmaps linear interpoliert (also beim vergrößern). Aber, wie funktioniert kibische und bikubische Interpolation? Gibt es überhaupt einen unterschied zwischen kubisch und bikubisch?

Mir reicht auch ein kleiner Poseudocode oder eine Erläuterung, muss kein vollständiger Delphi-Code sein!


MathiasH - Sa 04.10.03 14:46

lineare Interpolation:
exakte positon eines pixels von dest-image auf positon in src-image umrechnen(is dann natürlich ein float wert). und dann die 4 Pixel außenrum im src-image finden. anhand der relativen x/y werte von Punkt zu den Pxeln kann man dann ausrechnen, wie stark man die 4 Pixel beim mittelwert berechnen gewichten muss

hab grad leider keine zeit für psudeocode o.Ä.

MathiasH


Keldorn - Sa 04.10.03 15:41

das hier fand ich nicht schlecht. Ist auch source dabei (aber C ) .
http://www.engineering.uiowa.edu/~gec/248_s00_students/blake_carlson/hw2/

vielleicht findest du auch noch was hier:
http://www.efg2.com/Lab/Library/ImageProcessing/Algorithms.htm
(unter Resampling guggn)

Wenn du noch was interessantes findest, kannst du es ja paosten.

Mfg Frank


Andreas Pfau - Sa 04.10.03 16:22

Hallo,

danke für die Links! Lineare imterpolation kenne ich wie gesagt schon. Das bikubische scheint ganz schön heftig zu sein, aber ich versuche mal, den Code zu verstehen.

Wenn was vernünftiges dabei rauskommt, poste ich mal. Bis dann mal!


Keldorn - Sa 04.10.03 20:10

Andreas Pfau hat folgendes geschrieben:
Das bikubische scheint ganz schön heftig zu sein, aber ich versuche mal, den Code zu verstehen.

grob hinbekommen habe ich beide varianten. aber die bikubische war erwartungsgemäß saulangsam und für meine Zwecke warn die Bilder nich groß besser.

Was verwendest du für das lineare? das gleiche wie im Link oder eine andere Variante? oder hast du noch einen interessanten Link zum Thema lineare interpolation?


Andreas Pfau - Sa 04.10.03 21:22

Hallo,

nee, muss dich enttäuschen: ich habe mir den Code praktisch aus den Fingern gesaugt. Ich habe erst im Nachhinein erfahren, dass man das, was ich da gecodet habe, lineare Interpolation nennt.