Matlab RGB значения дилемма - PullRequest
       2

Matlab RGB значения дилемма

3 голосов
/ 21 декабря 2010

Когда я писал эти команды

out = ones(size(ben))
imshow(out)

, на выходе получается белое изображение, но я ожидаю, что оно будет почти темным, поскольку значения rgb равны 1,1,1.когда я даю 255 255 255, он также дает белую картинку.Разве это не дилемма?

1 Ответ

3 голосов
/ 21 декабря 2010

Попробуйте out = ones(size(ben), 'uint8');

ones() по умолчанию создает массив значений типа double.Когда imshow() получает массив значений типа double, он предполагает, что значения пикселей находятся в диапазоне от 0 до 1, и назначает белый цвет чему-либо большему, чем 1. Однако, если вы передадите массив от uint8 до imshow(), он приметдиапазон от 0 до 255.

Вы также можете попробовать использовать imagesc(); вместо imshow(), но вам может потребоваться сделать colormap gray после подопечных, чтобы получить изображение в градациях серого.

Другая альтернатива - изменить масштаб изображения перед отображением:

imshow(out / max(out(:)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...