poster
2019-12-14, 20:46
我有以下代码:
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)))
更多&回答... (https://stackoverflow.com/questions/5353248)
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)))
更多&回答... (https://stackoverflow.com/questions/5353248)