SciPy Bild Größenänderung Shift - erwartetes Verhalten oder Fehler?

9

Ich habe etwas merkwürdiges mit der scipy.misc.resize bemerkt - es scheint, dass eine andere Interpolationsmethode als "nächste" Ergebnisse in einer ungefähr 1x1 Pixel Verschiebung von (0,0) im resultierenden Bild verwendet wird.

Hier ist ein total synthetisches Beispiel, wie man ein 3x3-Bild zu 6x6 macht:

%Vor%

Nun scheint der Massenschwerpunkt sich für bilineare und bikubische Interpolationen zu bewegen, bewegt sich aber nicht für die nächste Interpolation. Dies tritt sowohl bei ungeraden als auch bei geraden Zielgrößen auf.

Mir ist klar, dass variierende Definitionen von Koordinaten, die Pixel-Zentrum oder Pixel-Kante sind oder Pixel als Punkt-Samples oder Rechtecke behandeln, beim Resampling leicht unterschiedliche Ergebnisse ergeben, aber das scheint ein großes Problem zu sein (es sei denn, ich vermisse etwas).

Hier ist ein weiteres Beispiel, das die Verschiebung deutlicher zeigt:

%Vor%

Da keine horizontale Größenänderung stattgefunden hat, würde ich nicht erwarten, dass sich die horizontale Koordinate meines Massenschwerpunkts überhaupt bewegt, sondern bewegt sich deutlich von 1,0 auf 1,5.

Also, ist das ein Fehler oder fehlt mir etwas?

    
Yuriy Romanenko 29.10.2014, 22:14
quelle

1 Antwort

0

Scheint, das ist definitiv ein Fehler. Ich habe das folgende kurze Snippet geschrieben:

%Vor%

und die bilinearen / bikubischen Bilder laufen buchstäblich von (0,0) jedem Bild weg, während die nächsten ausgerichtet bleiben.

Ich werde mit PIL / SciPy Leute überprüfen, ob es bereits behoben ist oder nicht.

    
Yuriy Romanenko 30.10.2014, 23:09
quelle