ich eine Implementierung von Hilbert-Peano raumfüllende Kurve in Python geschrieben habe (von Matlab ein) mein 2D-Bild zu glätten:Hilbert-Peano-Kurve Bild beliebiger Größe scannen
def hilbert_peano(n):
if n<=0:
x=0
y=0
else:
[x0, y0] = hilbert_peano(n-1)
x = (1/2) * np.array([-0.5+y0, -0.5+x0, 0.5+x0, 0.5-y0])
y = (1/2) * np.array([-0.5+x0, 0.5+y0, 0.5+y0, -0.5-y0])
return x,y
jedoch die klassischen Hilbert-Peano-Kurve funktioniert nur für multi-dimensionale Arrays, deren Form eine Zweierpotenz ist (zB: 256 * 256 oder 512 * 512 bei einem 2D-Array (Bild)).
Weiß jemand, wie man das auf ein Array beliebiger Größe ausdehnt?
Haben Sie versucht, es zu implementieren? – floflo29
Während es wahr ist, basiert die klassische Hilbert-Kurve auf der Potenz von 2, da es sich um ein Fraktal handelt, das man auch um jeden Preis ignorieren kann. Aber um deine Frage zu beantworten. Nr. – Bytemain
Wie würden Sie die ursprüngliche Kurve modifizieren, um die Potenz der 2 Hypothese loszuwerden? – floflo29