2012-04-02 10 views
1

Wenn ein bilinearer Filter verwendet wird, um ein Bild (durch einen nicht ganzzahligen Faktor) zu vergrößern, ist dieser Prozess verlustfrei? Das heißt, gibt es eine Möglichkeit, das ursprüngliche Bild zu berechnen, solange die ursprüngliche Auflösung, das hochskalierte Bild und der genaue verwendete Algorithmus bekannt sind und es keinen Genauigkeitsverlust beim Hochskalieren gibt (keine Rundungsfehler)?Ist bilineare Filterung reversibel?

Meine Vermutung wäre, dass es ist, aber das basiert auf einigen Berechnungen auf einer Serviette, die nur den eindimensionalen Fall betrifft.

Antwort

1

Den 1D-Fall als eine Vereinfachung nehmen. Jeder Ausgangspunkt kann als eine lineare Kombination von zwei der Eingangspunkte ausgedrückt werden, dh:

y_n = k_n * x_m + (1-k_n) * x_{m+1} 

Sie haben eine ganze Reihe dieser Gleichungen, die in Vektorschreibweise ausgedrückt werden kann als:

Y = K * X 

wo X ein längen- M Vektor von Eingangspunkten, ist ein Y längen- N Vektor der Ausgangspunkte und K eine sparse-Matrix (Grße NxM) die (bekannten) Werte von k enthält.

Damit die Interpolation reversibel ist, muss K eine invertierbare Matrix sein. Dies bedeutet, dass es mindestens M linear unabhängige Zeilen geben muss. Dies gilt genau dann, wenn zwischen jedem Eingangspunktpaar mindestens ein Ausgangspunkt liegt.

+0

Das war genau meine Serviettenberechnung, ich habe mich nur gefragt, ob es auch für den 2D Fall anwendbar ist :) Der Zustand eines Ausgabepunktes zwischen jedem Paar von Eingabepunkten scheint logisch und sollte im Falle eines gehobenen, Recht? – lxgr

+0

@lxgr: Ich denke, ähnliche Logik gilt für 2D, aber ich kann es jetzt nicht beweisen ... –

+0

@OliCharlesworth: Filterung kann als Faltung beschrieben werden. Wenn der Filterkern nichtperiodisch ist, kann der Prozess umgekehrt werden. Suche den Begriff "Dekonvolution", verrücktes, interessantes Zeug. Im Allgemeinen, wenn Sie den Convolution-Kernel kennen und genügend Datenpunkte haben, können Sie den Prozess umkehren. Das bedeutet: Wenn Sie ein aperiodisches Unschärfefilter auf ein Bild anwenden und die Daten nicht an den Kanten wegwerfen und die Auflösung nicht verringern, können Sie den Vorgang rückgängig machen. – datenwolf