Я искал в Интернете и не мог найти ничего об этом, что делает то, что я хочу.
Я хотел бы сохранить массив изображений как изображение, но вместо цветного изображения я хочу черно-белое представление значений пикселей в соответствующем расположении сетки.
Например:
import numpy as np
x = np.array([[1,2],[3,4]])
print(x)
# [[1 2]
# [3 4]]
Я хотел бы сохранить это как изображение (.PNG), которое выглядит следующим образом:
Мой текущий код создает сетку и помещает числа внутрь, но очень трудно все настроить, чтобы сделать его презентабельным в исследовательской работе.
Поэтому вместо того, чтобы публиковать мой слишком сложный код, мне было интересно, есть ли встроенная функция для обработки этого в нескольких строках кода.
table
было бы хорошим местом для начала. Я не использовал это достаточно, чтобы дать хороший ответ.table
.Ответы:
Я бы использовал LaTeX для генерации таблиц, так как они выглядят причудливо, и вы можете сгенерировать изображение или напрямую поместить их в свой документ. Я использовал следующий код для достижения этой цели:
Здесь используется класс документа,
preview
который возвращает изображение с измененным размером к содержимому документа, то есть только к таблице.tabular
Для представления данных используется только среда. Между ячейками есть горизонтальные и вертикальные полосы, но это очень легко изменить. В переменнойtab
данные обрабатываются для каждой строки и преобразуются в строку. Обратите внимание, что вы должны указать формат вывода в этой позиции. Я установил его%d
так, чтобы все конвертировалось в целые числа.Если вы хотите использовать таблицу непосредственно в источнике латекса, вы должны удалить
documentclass
и\begin{document}
так же , как\end{document}
в переменныхstart
иend
. Наконец, все собрано в источник латекса, который затем сохраняется на диск какtable.tex
. Если вы просто хотите изображение в конце, результирующий файл компилируется вtable.pdf
.Вот как выглядит результат. Но, как я уже сказал, изменить внешний вид очень легко, так как это LaTeX :)
Вот еще один пример с большой матрицей (14 x 14), заполненной случайными числами в диапазоне от 0 до 100:
источник
Вы можете использовать
table
функциюmatplot
для построения простой таблицы. Кроме того, вы можете сохранить сюжет в формате PNG. Ниже приведен простой код для ваших требований:Размер сюжета или изображения можно настроить, изменив
figsize
параметры в строке:plt.figure(figsize=(x,y))
Для лучшего внешнего вида его можно изменить, как показано ниже:
источник
fig = plt.figure(figsize = x.shape)
Может быть, это поможет:
источник