Re: [問題] 怎樣將832*480矩陣裡的值對應到特定顏色,然後秀出來?

看板MATLAB作者 (郝渴連)時間12年前 (2013/11/20 19:02), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《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
文章代碼(AID): #1IZ9QlrW (MATLAB)
文章代碼(AID): #1IZ9QlrW (MATLAB)