Ich versuche, das folgende Python-Segment zu verstehen.in Bezug auf die Einrichtung Ogrid und füllen Sie die entsprechenden mehrdimensionalen Array in numpy
def upsample_filt(size):
factor = (size + 1) // 2
if size % 2 == 1:
center = factor - 1
else:
center = factor - 0.5
og = np.ogrid[:size, :size]
return (1 - abs(og[0] - center)/factor) * \
(1 - abs(og[1] - center)/factor)
Nach numpy
, ogrid returns a mesh-grid ndarrys with only one dimension.I think the program want to generate
Größe * Größe array. Why is it be written as
og = np.ogrid [: Größe,: size] Or what does
: size` bedeuten?
Als Test, ich Setup size=4
und print((1 - abs(og[0] - center)/factor)*(1 - abs(og[1] - center)/factor))
wird die Ausgabe wie folgt:
[[ 0.0625 0.1875 0.1875 0.0625]
[ 0.1875 0.5625 0.5625 0.1875]
[ 0.1875 0.5625 0.5625 0.1875]
[ 0.0625 0.1875 0.1875 0.0625]]
ich nicht ganz klar bin wie funktioniert (1 - abs(og[0] - center)/factor)*(1 - abs(og[1] - center)/factor)
fillup dieses mehrdimensionales Array?
Danke für die Erklärung. – user297850