作者mp19990920 (郝渴连)
标题Re: [问题] 怎样将832*480矩阵里的值对应到特定颜色,然後秀出来?
时间Wed Nov 20 19:02:03 2013
※ 引述《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