карта цветов в Matlab - PullRequest
       37

карта цветов в Matlab

4 голосов
/ 12 августа 2010

Для цветовой карты, как вы подчеркиваете яркость некоторых функций диммера?

Ответы [ 2 ]

3 голосов
/ 12 августа 2010

Если у вас есть карта цветов в градациях серого, значения серого отображаются линейно с интенсивностями.Чтобы улучшить функции затемнения, вы хотите, чтобы низкие интенсивности отображались на больший диапазон значений серого, чем высокие интенсивности.Другими словами, вы растягиваете низкие интенсивности и сжимаете высокие интенсивности.Это можно сделать, отрегулировав гамма цветовой карты.Конечно, вы также можете выполнить гамма-коррекцию для цветовых карт RGB.

Если у вас есть набор инструментов для обработки изображений, команда Matlab для этого будет IMADJUST , которую вы используете следующим образом:

newColormap = imadjust(oldColormap,[low_in; high_in],[low_out; high_out],gamma);

Новая цветовая карта отображает значения в диапазоне low_in / high_in на диапазон low_out / high_out - так что вы, скорее всего, захотите использовать минимум / максимум цветовой карты - и гамма - это то, что вы хотите установить на>1.

Альтернативный, быстрый способ подчеркнуть тусклые элементы - это показать квадратный корень (или, для более выраженного эффекта, логарифм) вашего изображения.

imshow(sqrt(img),[])
3 голосов
/ 12 августа 2010

Вы можете использовать функцию BRIGHTEN , чтобы украсить всю цветовую карту, таким образом, украсив функции диммера:

brighten(0.5);  %# Brightens the current colormap

%# OR...

newMap = brighten(oldMap,0.5);  %# Brighten the colormap in variable oldMap
colormap(newMap);               %# Update the current colormap to newMap

Если вы хотите украсить только функции диммера (т. Е. Просто часть цветовой карты), вы должны сначала решить, как классифицировать то, что считается функцией "диммера".;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...