Die ImageResize
Funktion von Mathematica unterstützt viele Resampling- Methoden.
Da ich mit diesem Gebiet nicht vertraut bin, bin ich jenseits des nächsten Nachbarn bilinear, biquadratisch und bikubisch (was aus dem Namen ersichtlich ist) verloren.
Können Sie mich auf eine Quelle verweisen, die die grundlegenden (mathematischen) Unterschiede zwischen diesen Methoden erklärt und insbesondere auf die praktischen Unterschiede hinweist (z. B. indem Sie Beispielbilder zeigen, bei denen die Wahl der Methode wirklich wichtig ist und spürbare Unterschiede einführt)?
Ich habe keinen Hintergrund für die Signalverarbeitung, daher würde ich eine "sanfte" und prägnante Einführung bevorzugen :-)
Ich kopiere hier die Liste der ImageResize
Methoden für diejenigen, die "faul" sind, um auf den Link zu klicken:
Resampling des nächsten Nachbarn "am nächsten"
"Bilineare" bilineare Interpolation
"Biquadratic" Biquadratic Spline Interpolation
"Bikubische" bikubische Spline-Interpolation
"Gaußscher" Gaußscher Resampling
"Lanczos" Lanczos multivariates Interpolationsverfahren
Cosinus-Interpolation
"Hamming" -Raised-Cosine-Hamming-Interpolation
"Hann" -Raised-Cosine-Hann-Interpolation
"Blackman" -Drei-Term-Generalized-Raised-Cosine
"Bartlett" Dreiecksfensterinterpolation
"Connes" quadrierte Welch-Interpolation
"Welch" Quadratische Welch-Interpolation
"Parzen" stückweise kubische Interpolation
"Kaiser" -modifizierte Bessel-Interpolation nullter Ordnung
quelle
Antworten:
Genau wie bei Fensterfunktionen für zeitliche Signale ist es einfach, anhand des Frequenzgangs einen Überblick über die Funktionsweise eines Bildinterpolationskerns zu erhalten. Aus meiner Antwort zu Fensterfunktionen :
Dies gilt so ziemlich für Interpolationskerne. Die Wahl ist grundsätzlich ein Kompromiss zwischen Frequenzfilterung (Dämpfung von Nebenkeulen), räumlicher Lokalisierung (Breite der Hauptkeule) und Reduzierung anderer Effekte wie Klingeln (Gibbs-Effekt), Aliasing, Unschärfe usw. Beispielsweise kann ein Kernel mit Schwingungen wie z wie der sinc-Kernel und der Lanczos4-Kernel "Klingeln" einführen in das Bild , während ein Gauß-Resampling kein Klingeln einführt.
Hier ist ein vereinfachtes Beispiel in Mathematica, in dem Sie die Auswirkungen verschiedener Interpolationsfunktionen sehen können:
true
small
Sie können selbst sehen, dass verschiedene Interpolationsfunktionen unterschiedliche Auswirkungen haben. Die nächsten und einige andere weisen sehr grobe Merkmale auf, und Sie können im Wesentlichen gezackte Linien sehen (siehe Bild in voller Größe, nicht die Rasteranzeige). Bikubisch, biquadratisch und Parzen überwinden dies, führen aber zu viel Unschärfe. Von allen Kernen scheint Lanczos (visuell) der attraktivste zu sein und derjenige, der den besten Job macht.
Ich werde versuchen, diese Antwort zu erweitern und intuitivere Beispiele bereitzustellen, die die Unterschiede veranschaulichen, wenn ich Zeit habe. Vielleicht möchten Sie diesen recht einfachen und informativen Artikel lesen , den ich im Internet gefunden habe (PDF-Warnung).
quelle