Поскольку ваш массив выглядит как двоичное изображение строчной буквы «а», я предполагаю, что вы имеете в виду масштабирование в смысле изображения.
Для этого я бы порекомендовал использоватьimresize
функция в scipy.misc (по-моему, взята из PIL).Вот пример:
import numpy as np
from scipy.misc import imresize
img = np.array([
[0, 0, 1, 1, 1, 1, 0, 0],
[0, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 0, 0, 0, 1, 1, 1],
[0, 0, 0, 0, 0, 0, 1, 1],
[0, 0, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 0, 0, 0, 0, 1, 1],
[1, 1, 0, 0, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1],
[0, 1, 1, 1, 1, 0, 1, 1]
])
newimg = imresize(img, (6,5))
, а newimg равен
array([[ 0, 0, 255, 255, 0],
[ 0, 255, 255, 255, 255],
[ 0, 0, 0, 0, 255],
[255, 255, 255, 255, 255],
[255, 255, 0, 0, 255],
[255, 255, 255, 255, 255]], dtype=uint8)
, что не идеально, но вы можете легко изменить 255 на 1.Кроме того, если вы получаете версию Scipy для разработки, в настоящее время версию 9, то у вас есть некоторые другие параметры (прокрутите вниз, чтобы изменить размер - без привязки), которые можно ввести для увеличения, например метод интерполяции и режим PIL.