Моя цель - отобразить 2D-массив в виде изображения в Python. Массив не содержит нулевых элементов, и поэтому я ожидаю, что изображение, в котором imshow() автоматически устанавливает цветовую шкалу в соответствии со значениями массива. Однако, когда я запускаю код, изображение пустое.
CSV файл: https://ufile.io/urk5m
import numpy as np
import matplotlib.pyplot as plt
data_ = np.loadtxt(open("new_file.csv", "rb"), delimiter=",")
plt.imshow(data_)
Мой результат таков: https://imgur.com/jMNnF0h
Всегда помните, но на самом деле всегда, изображения работают с 8-битными целыми числами. Вот почему существует 2 ^ 8 оттенков серого и почему большинство общего числа цветов CS составляет (2 ^ 8) ^ 3 = 16,7 мил. цвета. 3, потому что есть 3 цветовых канала - RGB, каждый из которых имеет 256 оттенков.
Все рассчитывают на это, и в основном библиотеки обработки изображений.
Поэтому ВСЕГДА убедитесь, что вы передаете правильный тип данных матрицы в функции обработки изображений:
image_8bit = np.uint8(data_)
plt.imshow(image_8bit)
plt.show()