Wenn ein Bild um einen ganzzahligen Faktor herabgetastet wird , besteht die naheliegende Methode darin, die Pixel des Ausgabebildes auf den Durchschnitt der entsprechenden Blöcke im Eingabebild zu setzen.n × n
Ich erinnere mich vage irgendwo gelesen zu haben, dass diese Methode nicht optimal ist (sorry, ich erinnere mich an keine Details)
Stimmt es, dass es eine bessere Methode gibt (und wenn ja, wo schlägt die obige Methode fehl, obwohl sie "offensichtlich" richtig zu sein scheint)? Ich weiß nicht viel über Signalverarbeitung, diese Frage interessiert mich nur.
image-processing
sampling
Styg Oldenbaum
quelle
quelle
Antworten:
Das Downsampling eines Bildes reduziert die Anzahl der Samples, die das Signal darstellen können. In Bezug auf den Frequenzbereich wird der Hochfrequenzteil des Signals mit dem Niederfrequenzteil abgeglichen, wenn ein Signal abgetastet wird. Wenn es auf die Bildverarbeitung angewendet wird, besteht das gewünschte Ergebnis darin, nur den Niederfrequenzteil zu bewahren. Dazu muss das Originalbild vorverarbeitet (alias-gefiltert) werden, um den Hochfrequenzanteil zu entfernen, damit kein Aliasing auftritt.
Das optimale Digitalfilter zum Entfernen des Hochfrequenzanteils (mit der schärfsten Grenze) ist eine normale Funktion . Der Grund ist, dass die Frequenzdomänendarstellung der Sinc-Funktion über den gesamten Niederfrequenzbereich eine nahezu konstante 1 und über den gesamten Hochfrequenzbereich eine nahezu konstante 0 ist.
Die Impulsantwort des Sinusfilters ist unendlich. Das Lanczos-Filter ist ein modifiziertes Sinc-Filter, das die Sinc-Koeffizienten abschwächt und abschneidet, sobald die Werte unwichtig werden.
Im Frequenzbereich optimal zu sein, bedeutet jedoch nicht, im menschlichen Auge optimal zu sein. Es gibt Upsampling- und Downsampling-Methoden, die keine linearen Transformationen berücksichtigen, sondern bessere Ergebnisse als lineare liefern.
In Bezug auf die Aussage über ist zu beachten, dass während der Bildabtastung die Wahl der Koordinatenentsprechung zwischen dem hochauflösenden Signal und dem niedrigauflösenden Signal weder willkürlich ist noch zum Ausrichten ausreicht sie zum gleichen Ursprung (0) auf der realen oder diskreten Zahlenlinie.n × n
Die Mindestanforderung in der Koordinatenkorrespondenz ist das
quelle
Sie haben Recht, dass die Flächenmittelung ziemlich nahe an der "besten" liegt, die Sie bekommen können, aber das Problem ist das inkonsistente Verhalten beim Herunterskalieren einer scharfen Linie mit der Breite N um den Faktor N. Wenn die Position der Linie modulo ausgerichtet ist N, Sie erhalten eine scharfe 1-Pixel-Linie, aber wenn es ungefähr N / 2 Mod N ist, erhalten Sie eine sehr unscharfe Linie (2 Pixel breit bei halber Intensität). Dies kann sehr schlecht aussehen und bei nichtlinearem Gamma sogar zu Intensitätsunterschieden führen. (Im Idealfall muss das Resampling mit Gamma-Korrektur für eine lineare Intensitätsskala erfolgen. In der Praxis tut dies jedoch fast niemand, da es sehr teuer ist.)
Wenn Sie dies verbessern möchten, müssen Sie zunächst die Tatsache akzeptieren, dass es in einigen Fällen unmöglich ist, die Unschärfe zu verringern. Die einzige Möglichkeit, eine einheitliche Ausgabe zu erzielen , besteht darin, die Unschärfe zu erhöhen . Der ideale Weg ist, einen Gaußschen Kernel mit einem Radius größer als N / 2 anstelle einer Schrittfunktion als Faltungsfunktion für das Quellbild zu verwenden. Wenn Sie jedoch bereits über eine Implementierung zur N-mal-N-Flächen-Mittelwertbildung verfügen, können Sie auf billige Weise eine (1 / 4,1 / 2,1 / 4) -Unschärfefaltung auf das resultierende Downsampling anwenden Bild.
quelle