Re: [問題] 怎樣將832*480矩陣裡的值對應到特定顏色,然後秀出來?
※ 引述《ejialan (eji)》之銘言:
: ※ 引述《ironmanstock (鋼鐵人史塔克)》之銘言:
: : 各位先進好
: : 手邊有一個圖片讀出的矩陣(832x480),
: : 處理後,這個矩陣裏存放各種不同的值(這些值範圍是 -60~60 )
: : 最後,我想把這些值對應到不同的顏色再按照矩陣的x,y座標輸出成832x480的圖像,
: : 譬如 如果值是-60~-41 則輸出紅色
: : -40~-35 是綠色
: : -34 ~30 是藍色
: : -29 ~60 是黑色
: : (這樣輸出是因為我要觀察不同的值是怎樣的分佈形狀. )
: : 我曾經try了
: : pcolor 再配合color editor來做出一個四個區段的colorbar,可是我覺得
: : colorbar在edit的時候我無法正確的對應到我的矩陣值,或許我可以用語法來設定
: : 可是我不太清楚該怎樣做?
: : set Clim 也只能取最大及最小,也是還要配合colorbar editor來做,
: : 感覺這樣做也很不方便也不好用.
: : 請問不知有沒語法可以讓我精確的對應到我要的顏色,然後把矩陣每一點繪出.
: : 感謝大德 指教我一條明路
: A=floor(60*(2*rand(832,480)-1));
: [m,n]=size(A)
: [x,y]=meshgrid(1:n,m:-1:1);
: i1=A<-40;
: i2=A>=-40&A<-34;
: i3=A>=-34&A<-29;
: i4=A>=-29;
: plot(x(i1),y(i1),'r',x(i2),y(i2),'g',x(i3),y(i3),'b',x(i4),y(i4),'k')
src = randi([-60, 60], [832, 480]);
rgb = 255*cat(3, src>=-60 & src<=-41, src>=-40 & src<=-35, src>=-34 &
src<=-30);
imshow(rgb)
--
哀愁猶如雪花梢然飄落,
白雪厚積,
終究成了孤獨的小結晶,
誰能融化我冰凍已久的孤寂?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.67.51.169
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章