Почему я получаю сообщение об ошибке, когда использую изображения в градациях серого с «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)
СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ