2010-08-12 3 views
4

Pour une palette de couleurs, comment pouvez-vous accentuer la luminosité de certaines fonctions du gradateur?colormap in matlab

+0

question similaire: [Construit en colormaps à Matlab] (http://stackoverflow.com/questions/2785717/built-in-colormaps-in-matlab) – Amro

Répondre

3

Vous pouvez utiliser la fonction BRIGHTEN pour égayer l'ensemblecolormap, éclaircissant ainsi les caractéristiques variateur ainsi:

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 

Si vous voulez égayer seulement les caractéristiques variateur (c.-à-tout partie de la palette de couleurs), vous devez d'abord décider comment classer ce qui compte comme une caractéristique de "gradateur". ;)

+1

+1 une autre fonction intéressante est CONTRASTE: étant donné un image, il crée une palette de couleurs en niveaux de gris qui améliore le contraste http://www.mathworks.com/access/helpdesk/help/techdoc/ref/contrast.html – Amro

3

Si vous disposez d'une palette de couleurs en niveaux de gris, les valeurs de gris correspondent linéairement aux intensités. Pour améliorer les fonctions de faible intensité, vous souhaitez que les intensités faibles soient mappées sur une plage de valeurs de gris plus étendue que les intensités élevées. En d'autres termes, vous étirez les faibles intensités et comprimez les intensités élevées. Cela peut être fait en ajustant le gamma de la palette de couleurs. Bien sûr, vous pouvez également effectuer une correction gamma pour les cartes de couleurs RVB.

Si vous avez la boîte à outils de traitement d'image, la commande Matlab pour cela est IMADJUST, que vous utilisez comme ceci:

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

La nouvelle palette de couleurs cartes de valeurs dans la gamme low_in/high_in à la gamme low_out/high_out - donc vous voulez probablement utiliser le minimum/maximum de la palette de couleurs - et gamma est ce que vous voulez définir à> 1.

Une alternative, un moyen rapide de mettre l'accent sur les fonctions faibles est d'afficher la racine carrée (ou, pour un effet plus prononcé, le logarithme) de votre image.

imshow(sqrt(img),[]) 
+0

+1: IMADJUST est une bonne option, en supposant bien sûr que vous avez la boîte à outils de traitement d'image. ;) – gnovice

+0

@gnovice: merci, j'ai clarifié la solution - même si j'ai personnellement tendance à utiliser la racine carrée ou log pour mettre l'accent. C'est beaucoup plus rapide et nécessite moins de violon. – Jonas