Я создавал образ чего-либо из массива, и matplotlib может выдавать только «dpi» до того, как ядро вылетает после того, как вы его спросите (например, для графика dpi = 8000, ядро просто мгновенно умирает).Поэтому я решил сделать изображение с PIL - но оно было полностью испорчено.
Я создал MCVE:
a = np.zeros([5,5])
a[:,2] = 255
a = np.repeat(a[...,np.newaxis], 3, axis=2)
Если мы введем это через matplotlib
с
img = plt.imshow(a)
plt.show()
Мы получаем это изображение: ![Extremely simple expected plot.](https://i.stack.imgur.com/40okU.png)
Но если мы используем аналогичный код PIL
img = Image.fromarray(a, "RGB")
img.save("Stuff.png")
, мы получаем это изображение:
![Crazy image with weird colours.](https://i.stack.imgur.com/Gs859.png)
(изображение здесь снято на экран и увеличено, поскольку в действительности оно составляет всего 5x5 пикселей)
Почемуэто?!Это просто ошибка?!
РЕДАКТИРОВАТЬ: Вопрос теперь решен, и благодаря этому и предыдущему вопросу мои вычисления гораздо быстрее и питоннее.В качестве благодарности SO вот скриншот 400-мегапиксельного изображения набора Мандельброта, окрашенного на основе квадранта C, в который попадает точка Z, точно так же, как она выходит, что теперь можно вычислить за 2 минуты:
![enter image description here](https://i.stack.imgur.com/dXjes.png)