Сохранение Numpy выстраивает как изображение

Я написал небольшой скрипт под названием SwitchColors.js, который можно найти здесь: https://github.com/akulmehta/SwitchColors.js

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

227
задан Paweł Polewicz 23 May 2009 в 23:36
поделиться

4 ответа

Вы можете использовать PyPNG . Это чистый Python (без зависимостей) кодировщик / декодер PNG с открытым исходным кодом, и он поддерживает запись массивов NumPy в виде изображений.

52
ответ дан 23 November 2019 в 03:48
поделиться

matplotlib svn имеет новую функцию для сохранения изображений как просто изображения - без осей и т.д. очень простая функция для резервного копирования, если вы не хотите устанавливать svn (скопировано прямо из image.py в matplotlib svn, для краткости удалена строка документации):

def imsave(fname, arr, vmin=None, vmax=None, cmap=None, format=None, origin=None):
    from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
    from matplotlib.figure import Figure

    fig = Figure(figsize=arr.shape[::-1], dpi=1, frameon=False)
    canvas = FigureCanvas(fig)
    fig.figimage(arr, cmap=cmap, vmin=vmin, vmax=vmax, origin=origin)
    fig.savefig(fname, dpi=1, format=format)
4
ответ дан 23 November 2019 в 03:48
поделиться

Если у вас есть matplotlib, вы можете сделать:

import matplotlib.pyplot as plt
plt.imshow(matrix) #Needs to be in row,col order
plt.savefig(filename)

Это сохранит график (а не сами изображения). enter image description here

29
ответ дан 23 November 2019 в 03:48
поделиться

Здесь используется PIL, но, возможно, кому-то это может пригодиться:

import scipy.misc
scipy.misc.imsave('outfile.jpg', image_array)

РЕДАКТИРОВАТЬ : Текущая версия scipy начала нормализовать все изображения, так что min (data ) станет черным, а max (data) станет белым. Это нежелательно, если данные должны быть точными уровнями серого или точными каналами RGB. Решение:

import scipy.misc
scipy.misc.toimage(image_array, cmin=0.0, cmax=...).save('outfile.jpg')
246
ответ дан 23 November 2019 в 03:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: