#python #image #matplotlib #colors
#питон #изображение #matplotlib #Цвет
Вопрос:
У меня есть изображение ниже, и я хочу нанести определенное единичное значение на определенную строку. В приведенном ниже случае я использовал красный цвет для упомянутой линии просто для визуализации линии.
Значения нормализуются путем вычитания их из среднего значения и деления на стандартное отклонение. Следовательно, значения не находятся в диапазоне от 0 до 1, а также RGB. Это значение может быть 0.1, 2 или любое другое значение. Я хочу просто записать это конкретное значение в строке, а затем сохранить его как файл mat.
import matplotlib.pyplot as plt
pixels = 600
my_dpi = 100
one_coord = [[-150,-200],[300,-200],[300,0],[150,200],[-150,200]]
fig = plt.figure(figsize=( pixels/my_dpi, pixels/my_dpi),facecolor='k', dpi=my_dpi)
plt.axes([0,0,1,1])
rectangle = plt.Rectangle((-300, -300), 600, 600, fc='k')
plt.gca().add_patch(rectangle)
plt.plot([one_coord[0][0], one_coord[-1][0]], [one_coord[0][1], one_coord[-1][1]], color='r', lw=5)
plt.axis('off')
plt.axis([-300,300,-300,300])
plt.imshow(fig)
Комментарии:
1. Вы можете просто использовать
color='0.3'
(число между кавычками, а от 0 до 1 интерпретируется как значение серого), указав цвета в matplotlib2. Значения не находятся между 0 и 1.
3. Я хочу сохранить изображение в виде файла mat и использовать его в качестве входных данных для моей сети cnn.
4. Если у вас есть значения rgb от 0 до 255, вы также можете использовать
plt.plot(...., color=(r/255, g/255, b/255))
. При сохранении изображенияcolor='0.3'
будет значение rgb (77,77,77) или серое значение 77 (или что-то еще, в зависимости от формата).5. Вы спрашиваете, как преобразовать диапазон значений с плавающей точкой в значение в оттенках серого? … нормализовать его?
value / (max-min)
??