Эффективное преобразование массива чисел с плавающей запятой в значения RGBAPython

Программы на Python
Ответить
Anonymous
 Эффективное преобразование массива чисел с плавающей запятой в значения RGBA

Сообщение Anonymous »

Я пытаюсь создать систему, которая будет брать массив чисел с плавающей запятой в диапазоне от 0,0 до 1,0 и преобразовывать их в значения RGBA на основе справочной таблицы. Выходные данные должны представлять собой массив, который на одно измерение больше входного, причем последнее измерение имеет размер 4 и состоит из значений RGBA.
В настоящее время я могу сделать это только с помощью циклов. . Кто-нибудь знает какие-либо методы индексирования numpy, которые могли бы достичь того же результата более эффективно.

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

import numpy as np
import matplotlib.pyplot as plt

cyan = np.array([(x*0,x*1,x*1,255) for x in range(256)])

input_array = np.arange(0,0.8,0.05).reshape(4,4)

input_array = input_array*256

colour_array = []
for x in range(input_array.shape[0]):
for y in range(input_array.shape[1]):
colour_array.append(cyan[int(input_array[x,y])])

colour_array = np.array(colour_array).reshape(4,4,4)

plt.imshow(colour_array)
Изображение


Подробнее здесь: https://stackoverflow.com/questions/791 ... icient-way
Ответить

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

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

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

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

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