We willen een afbeelding kunstmatig wat groter maken door extra rijen en kolommen toe te voegen (dus het omgekeerde van bijsnijden). Stel dat we een figuur van $$M \times N$$ pixels willen realiseren. De originele afbeelding meet $$m \times n$$ pixels.

We voegen boven en onder idealiter evenveel rijen toe. Als het aantal toe te voegen rijen oneven is, kiezen we ervoor om onderaan een extra rij toe te voegen. Om de toegevoegde rand zo onopvallend mogelijk te maken, voegen we bovenaan rijen toe die identiek zijn aan de eerste rij van de originele afbeelding en onderaan rijen die identiek zijn aan de onderste rij van de originele afbeelding.

Nadat we deze bewerking uitgevoerd hebben op de rijen, voegen we nu ook kolommen toe. Analoog voegen we links kolommen toe identiek aan de linkerkolom van de afbeelding na padding van de rij-dimensie en analoog voegen we rechts kolommen toe identiek aan de rechterkolom van de afbeelding na padding van de rij-dimensie. We voegen opnieuw zo mogelijk een gelijk aantal kolommen links en rechts toe. Indien dit niet mogelijk is, voegen we rechts een extra kolom toe.

Programmeer de functie padding() met als argumenten:

Voorbeeld

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]])

pr = padding(r, 10, 15)

#[[ 0  0  0  1  2  3  4  5  6  7  8  9  9  9  9]
# [ 0  0  0  1  2  3  4  5  6  7  8  9  9  9  9]
# [ 0  0  0  1  2  3  4  5  6  7  8  9  9  9  9]
# [10 10 10 11 12 13 14 15 16 17 18 19 19 19 19]
# [20 20 20 21 22 23 24 25 26 27 28 29 29 29 29]
# [30 30 30 31 32 33 34 35 36 37 38 39 39 39 39]
# [40 40 40 41 42 43 44 45 46 47 48 49 49 49 49]
# [40 40 40 41 42 43 44 45 46 47 48 49 49 49 49]
# [40 40 40 41 42 43 44 45 46 47 48 49 49 49 49]
# [40 40 40 41 42 43 44 45 46 47 48 49 49 49 49]]