2014-04-04 42 views
0

我想了解matlab的顏色映射。瞭解Colormap'噴射'到rgb轉換,matlab

顏色表(地圖)HSV JET的JET變體(M),HSV的(M)的變體,是含有由 CONTOUR,SURF和令pColor使用的默認顏色表的M-3矩陣。 顏色以深藍色開始,深淺爲 藍色,青色,綠色,黃色和紅色,最後以深紅色結束。 JET本身的長度與當前圖的 色圖相同。

這意味着它顯示0 =深藍色,1 =暗色。

但 爲0

f=0 
cm = colormap(jet(256));% should I take 256 
colorID = max(1, sum(f> [0:1/length(cm(:,1)):1])); 
myColor= cm(colorID, :) 

myColor = 0 0 0.50

何不(0 0 1)%darkblue

f=1 
    cm = colormap(jet(256));% returns the current color map 
    colorID = max(1, sum(f> [0:1/length(cm(:,1)):1])); 
    myColor= cm(colorID, :) % returns your color 

myColor = 0.50 0 0

爲什麼不是(1 0 0)%變暗

+0

你知道語法:'ImageRGB = ind2rgb(Image,colormap)' –

+0

我用軟件解決了它。它是雲比較和開源。 – Shahgee

回答

0

紅色不是由RGB值[1 0 0]定義的。許多RGB值將被人稱爲紅色。藍色也是一樣。此外,噴墨顏色地圖的幫助文字指出:

顏色以深藍色開始,...以深紅色結束。

那麼我會說,RGB顏色[0 0 0.5]看起來是深藍色的,我的RGB顏色[0.5 0 0]看起來暗紅色。所以色圖與描述一致,不是嗎?

如果您問爲什麼MathWorks選擇噴射顏色地圖以深藍色而不是藍色開始,並且以深紅色而不是紅色結束,那麼我只會問「爲什麼不應該它?」。 。

+0

後一個問題的答案是,色彩貼圖應該改變顏色(色調)而不是其他屬性,如飽和度或發光。 「Jet」在這方面失敗了。 – MSalters