Я написал небольшой скрипт под названием SwitchColors.js, который можно найти здесь: https://github.com/akulmehta/SwitchColors.js
Этот скрипт производит более насыщенные цвета и яркость можно контролировать. Хотя он может не давать визуально различимых цветов, он дает высокую насыщенность и яркие цвета, которые также могут быть привлекательными.
Вы можете использовать PyPNG . Это чистый Python (без зависимостей) кодировщик / декодер PNG с открытым исходным кодом, и он поддерживает запись массивов NumPy в виде изображений.
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)
Если у вас есть matplotlib, вы можете сделать:
import matplotlib.pyplot as plt
plt.imshow(matrix) #Needs to be in row,col order
plt.savefig(filename)
Здесь используется 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')