Как построить журнал нормализованного изображения с помощью imshow () (matplotlib)?

Я понимаю концепцию. Но я думаю, что делаю глупую ошибку. Это то, что я хочу (код psuedo-ish). Это для упражнения. Я не могу понять нижнюю часть происхождения и синтаксис первых двух строк.

norm = LogNorm(image.mean() + 0.5 * image.std(), image.max(), clip='True', 
               cmap=cm.gray, origin="lower")

image здесь массив пустышек. Как пройти эти norm а также cmap параметры в matplotlib для plt.show или же imshow()?

Это не работает:

imshow(image, cmap=cm.gray, LogNorm(......))

1 ответ

Решение

Это работает?

from matplotlib import colors, cm, pyplot as plt

norm = colors.LogNorm(image.mean() + 0.5 * image.std(), image.max(), clip='True')
plt.imshow(image, cmap=cm.gray, norm=norm, origin="lower")

Это создает специальную цветовую карту, которая варьируется от image.mean() + 0.5 * image.std() в image.max() используя логарифмическую шкалу. Более общая информация здесь: colors и конкретно: LogNorm

origin='lower' означает, что [0,0] элемент ("источник") массива показан в нижней левой части рисунка. Обычно источник массива находится в верхнем левом углу.

Другие вопросы по тегам