PIL: сгенерировать изображение путем применения градиента к массиву NumPy.Python

Программы на Python
Ответить
Anonymous
 PIL: сгенерировать изображение путем применения градиента к массиву NumPy.

Сообщение Anonymous »

У меня есть 2d массив NumPy со значениями от 0 до 1. Я хочу превратить этот массив в изображение подушки. Я могу сделать следующее и получить красивое изображение в оттенках серого:

Код: Выделить всё

arr = np.random.rand(100,100)
img = Image.fromarray((255 * arr).astype(np.uint8))
Теперь вместо создания изображения в оттенках серого я хотел бы применить собственный градиент.
Чтобы внести ясность, вместо рисования цветных полос в линейном градиенте, как в этом примере, я хотел бы указать, применить градиент colormap к существующему 2D-массиву и превратить его в 3D-массив.
Пример: если мой градиент [цвет1, цвет2, color3], тогда все 0 должны быть color1, все 1 должны быть color3, а 0,25 должно быть где-то посередине между color1 и цвет2. Мне уже удалось написать простую функцию, которая делает это:

Код: Выделить всё

gradient = [(0, 0, 0), (255, 80, 0), (0, 200, 255)] # black -> orange -> blue

def get_color_at(x):
assert 0 

Подробнее здесь: [url]https://stackoverflow.com/questions/79310840/pil-generate-an-image-from-applying-a-gradient-to-a-numpy-array[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»