Ваш массив "двоичных значений" является массивом байтов?
Если это так, вы можете сделать (используя Подушка ) после изменения его размера:
from PIL import Image
im = Image.fromarray(arr)
А потом im.show()
чтобы увидеть это.
Если ваш массив имеет только 0 и 1 (1-битная глубина или ч / б), вам, возможно, придется умножить его до 255
im = Image.fromarray(arr * 255)
Вот пример:
>>> arr = numpy.random.randint(0,256, 100*100) #example of a 1-D array
>>> arr.resize((100,100))
>>> im = Image.fromarray(arr)
>>> im.show()
Редактировать (2018):
Этот вопрос был написан в 2011 году, и с тех пор Подушка изменилась, требуя использовать параметр mode='L'
при загрузке с fromarray
.
Также в комментариях ниже было сказано, что arr.astype(np.uint8)
также необходимо, но я не проверял его