Image 为什么我不能在imshow中控制颜色分量的强度?
我有以下代码:Image 为什么我不能在imshow中控制颜色分量的强度?,image,matlab,colors,rgb,Image,Matlab,Colors,Rgb,我有以下代码: red = [1 255 0; 0 0 0; 0 0 0]; green = [0 0 0; 0 0 0; 0 0 0]; blue = [0 0 0; 0 0 0; 0 0 0]; figure,imshow(cat(3,red,green,blue)) 根据我的直观理解,图像的第一个像素的颜色应该有以下rgb分量:1,0,0,而第二个像素应该有以下分量:255,0,0当我说第一个和第二个时,我指的是文本顺序:从左到右,从上到下 换句话说,第一个像素应该几乎是绝对黑色的,而第
red = [1 255 0; 0 0 0; 0 0 0];
green = [0 0 0; 0 0 0; 0 0 0];
blue = [0 0 0; 0 0 0; 0 0 0];
figure,imshow(cat(3,red,green,blue))
根据我的直观理解,图像的第一个像素的颜色应该有以下rgb分量:1,0,0,而第二个像素应该有以下分量:255,0,0当我说第一个和第二个时,我指的是文本顺序:从左到右,从上到下
换句话说,第一个像素应该几乎是绝对黑色的,而第二个像素应该是红色的。但是,这两个像素看起来都是完全红色的。我错过了什么 我不是专家,但我想这是因为你把双打传给了imshow。你可以试试
imshow(uint8(cat(3, red, green, blue)))
为了补充这个答案:当图像存储在uint中时,颜色范围是0无颜色到255全色。在“双色”中,范围为0无颜色到1全色。所以,如果你想让你的图像保持双倍:只需将所有图像除以255即可。imshowcat3、红色、绿色、蓝色/255