Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 为什么我不能在imshow中控制颜色分量的强度?_Image_Matlab_Colors_Rgb - Fatal编程技术网

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