Почему я получаю сообщение об ошибке, когда использую изображения в градациях серого с «makehdr» в Image Processing Toolbox 8.1 (R2012b)?

Я получаю следующую ошибку при попытке использовать утилиту makehdr.

низкодинамичные изображения должны быть RGB

Я подозреваю, что причина в том, что мои изображения черно-белые. Есть ли обходной путь для этой проблемы?

ПРИМЕЧАНИЕ. 

Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech ,ME,M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

«makehdr» работает только с изображениями RGB. Обходной путь для этой проблемы — преобразовать изображение в градациях серого в изображение RGB.

Изображения в градациях серого представляют собой 2D-матрицы (m x n), тогда как изображения RGB представляют собой 3D-матрицы (m x n x 3). Поэтому необходимо расширить 2D-матрицу, чтобы заполнить 3D-матрицу. Это можно сделать несколькими способами

1. Используйте REPMAT, чтобы реплицировать 2D-матрицу 3 раза.

% Step 1 - Load grayscale image
imGray = imread('grayscaleImage.tif');
% Step 2 - Replicate image into RGB layers using REPMAT
nRV = 1; % Number Of Replications Vertically
nRH = 1; % Number Of Replications Horizontally
nRL = 3; % Number Of Replication Layers
imRGB  = repmat(imGray,[nRV, nRH, nRL]); % Replicate grayscale image 3 times
% Step 3 - Write resized image to file
imageName = 'rgbImage.tif';
imwrite(imRGB,imageName)

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ