We willen een afbeelding van een bepaalde dimensies bekomen, door van een gegeven afbeelding randen weg te knippen. Stel dat we een figuur van $$M \times N$$ pixels willen realiseren. De originele afbeelding meet $$m \times n$$ pixels. Omdat we het centrale deel van de afbeelding willen behouden, snijden we boven en onder idealiter evenveel rijen weg en links en rechts evenveel kolommen. Indien dit niet lukt (omdat het aantal weg te snijden rijen en/of kolommen oneven is), snijden we onder en/of rechts een extra rij/kolom weg.
Programmeer de functie bijsnijden()
met als argumenten:
figuur
: een 2D (Z/W) of 3D (kleur) NumPy-tabel die een figuur voorstelt M
: gewenst aantal rijen (na bijsnijden), je mag aannemen dat $$M$$ niet groter is dan het aantal rijen in de oorspronkelijke figuur. N
:gewenst aantal kolommen (na bijsnijden), je mag aannemen dat $$N$$ niet groter is dan het aantal kolommen in de oorspronkelijke figuur. r=np.array( [[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [10, 11, 12, 13, 14, 15, 16, 17, 18, 19], [20, 21, 22, 23, 24, 25, 26, 27, 28, 29], [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], [40, 41, 42, 43, 44, 45, 46, 47, 48, 49]]) br = bijsnijden(r, 2, 7) #[[11 12 13 14 15 16 17] # [21 22 23 24 25 26 27]]