Почему я не могу контролировать интенсивность компонентов цвета в imshow? - PullRequest
2 голосов
/ 18 марта 2011

У меня есть следующий код:

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 ) (когда я говорю «первый» и «второй», я имею в виду порядок текста: слева направо, сверху вниз).

Другими словами, первый пиксель должен быть почти абсолютно черным, а второй - красным. Однако оба пикселя выглядят идеально красными. Что мне здесь не хватает?

1 Ответ

5 голосов
/ 18 марта 2011

Я не эксперт, но я думаю, что это потому, что вы передаете удваивается до imshow. Вы можете попробовать

imshow(uint8(cat(3, red, green, blue)))
...