PIL Изображение не отображает введенные значения пикселей в правильном порядке - PullRequest
1 голос
/ 02 декабря 2019

Просто для удовольствия я подумал, что я постараюсь создать изображение со значениями пикселей, а затем отобразить его с помощью PIL.Image.

Но это не отрисовка вводимых значений.

from PIL import Image
import numpy as np

# custom array
arr = np.array(
    [[50,200,50],
     [50,200,50],
     [50,200,50]])

print(arr)

img = Image.fromarray(arr, 'L')
img.show()

[[ 50 200 50] [ 50 200 50] [ 50 200 50]]

Ниже выводится изображение.

enter image description here

При заданных значениях высокого пикселя используются белые, а значения низкого пикселя -темно, я бы ожидал белую линию посередине изображения.

Что здесь пошло не так?

1 Ответ

2 голосов
/ 02 декабря 2019

Спасибо @Mark Setchall за ваш комментарий.

Добавление type=np.uint8 при создании массива решило его за меня.

arr = np.array(
    [[50,200,50],
     [50,200,50],
     [50,200,50]], type=np.uint8)

Теперь я получаю то, что ожидал.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...