Как преобразовать изображение RGB в изображение HSI в MATLAB?
Преобразование цветового пространства изображения — одна из наиболее часто выполняемых операций в обработке изображений. Он используется настолько часто, что для определенного цветового режима изображения выполняется множество преобразований/фильтров. т. е. пороговое значение выполняется в градациях серого, цветовая нарезка в HSV и т. д. Цветовое пространство, которому со временем уделяется много внимания, — это HSL (интенсивность насыщения оттенка). Это связано с тем, что информация об изображении и его содержимом получается только путем анализа каналов. Поэтому может потребоваться преобразовать изображение в цветовое пространство HSI для выполнения некоторых операций. К сожалению, MATLAB не имеет встроенной функции для выполнения преобразований в цветовой режим HSI. Итак, в этой статье вы узнаете, как преобразовать изображение RGB в изображение HSI в MATLAB.
Пример 1:
Matlab
% MATLAB program for RGB to HSI image conversion. img = imread( "test.jpg" ); % Represent the RGB image in [0 1] range I = double(img) / 255; R = I(:,:,1); G = I(:,:,2); B = I(:,:,3); % Converting the image to HSV to % obtain the Hue and Saturation Channels HSV = rgb2hsv(img); H = HSV(:,:,1); S = HSV(:,:,2); % Intensity I = sum(I, 3)./3; % Creating the HSL Image HSI = zeros(size(img)); HSI(:,:,1) = H; HSI(:,:,2) = S; HSI(:,:,3) = I; figure,imshow(HSI); title( "HSI Image" ); |
Выход:
Мы будем использовать следующее изображение для демонстрации:
Объяснение:
Сначала импортируется изображение RGB с именем test.jpg . Затем все значения каждого канала делятся на 255, что дает нам двоичные значения, которые хранятся в переменной I. Затем каждый канал изображения RGB получается и сохраняется в разных переменных. Затем изображение преобразуется в цветовое пространство HSV с помощью функции rgb2hsv . Это позволит использовать каналы Hue и Saturation, полученные в результате этого диалога (упростит процесс получения каналов Hue и Saturation). Затем каналы Hue и Saturation также сохраняются в отдельных переменных. Тогда интенсивность изображения получается по формуле:
Затем создается нулевая матрица того же размера, что и исходное изображение, а затем заполняются каналами оттенка, насыщенности и интенсивности. В конце отображается изображение HSI.