Python Datashader пытается наложить изображения друг на другаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python Datashader пытается наложить изображения друг на друга

Сообщение Anonymous »


Я новичок в шейдере данных, занимаюсь этим как вводным проектом и столкнулся с проблемой. Я пытаюсь построить числа от 1 до 10 000 по спирали, как в видео 3b1b, но я хочу, чтобы простые числа были желтыми, а остальные — синими, чтобы улучшить общую визуализацию. Я сделал это, попытавшись наложить простые числа желтого цвета поверх ранее созданного изображения всех чисел по спирали синего цвета. Однако когда я это делаю, я получаю сообщение об ошибке: Невозможно выделить 1,49 ТиБ для массива с формой (800, 800, 800, 800) и типом данных uint32. Мой код примерно следующий (я опустил несвязанные части, но, возможно, я пропустил импорт или список):

импортировать Sympy импортировать панд как pd из математики импортировать грех, потому что импортировать шейдер данных как ds импортировать datashader.composite как ops из datashader.utils import Export_image #Сгенерируем список простых чисел простые числа = [i для i в диапазоне (10000), если Sympy.isprime(i)] #генерируем полярные координаты x и y allx = [cos(num) * num * 1/10000 для числа в диапазоне (10000)] союзник = [sin(num) * num * 1/10000 для числа в диапазоне (10000)] xp = [cos(num) * num * 1/10000 для числа в диапазоне (10000)] yp = [sin(num) * num * 1/10000 для числа в диапазоне (10000)] #Сохраняем списки в отдельные фреймы данных primedf = pd.DataFrame({'Xp': xp, "Yp": yp}) df = pd.DataFrame({'Allx':allx, 'Ally':ally}) #создаем холст для печати объектов cvs = ds.Canvas(plot_width=800,plot_height=800) #создать совокупные точки, которые используются для создания изображения agg = cvs.points(df, "Allx", "Союзник") #генерируем первое изображение img = ds.tf.shade(agg) #Проделайте то же самое для простых наборов aggprime = cvs.points(primedf, "Xp", "Yp") imgprime = ds.tf.shade(aggprime, cmap="yellow") #Теперь наложите imgprime на img, это вызывает ошибку img * imgprime Я попробовал несколько других методов, включая экспорт в png и чтение с помощью iio/cv2, gnuplot, и я сделал что-то, о чем забыл, с datashader.composite.source.ops, и ни один из них, похоже, не работает. что заставляет меня думать, что я придерживаюсь совершенно неправильного подхода. Если кто-нибудь посоветует, как это сделать, буду очень благодарен.
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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