Если у вас есть три матрицы R
, G
, B
типа int16
. Если вы попробуете
RGB = cat(3,R,G,B);
imshow(RGB)
IMSHOW пожалуется, что: RGB images must be uint8, uint16, single, or double.
. На самом деле, если вы проверите документацию:
Истинное цветное изображение может быть uint8, uint16, одинарным или двойным. Индексированный
изображение может быть логическим, uint8, одиночным или двойным. Изображение в градациях серого может
быть логическим, uint8, int16, uint16, одинарным или двойным. Двоичное изображение
должен быть логического класса.
Итак, если вы объединяете три int16
изображения в градациях серого и хотите использовать IMSHOW, вам необходимо преобразовать полученное изображение в истинном цвете во что-то, что оно поддерживает:
imshow( im2double(RGB) )