Преобразование между RGB и HLS/HSV: отдельные цвета
1. Определите отдельные цвета в RGB.
2. Используйте функцию rgb_to_hsv, чтобы преобразовать отдельные компоненты RGB в HSV.
2-й и 3-й элементы идентичны во всех трех матрицах и имеют значение 255.
3. Используйте функцию rgb_to_hls, чтобы преобразовать отдельные компоненты RGB в HLS.
2-й и 3-й элементы идентичны во всех трех матрицах и имеют значения 127.5 и 255.
4. Используйте функции hsv_to_rgb и hls_to_rgb и убедитесь, что преобразование HLS/HSV-векторов синего возвращает исходный отдельный синий компонент.
Создание карт цветов
Можно использовать функцию hsv_to_rgb, чтобы создать палитру карты цветов для просмотра изображений в оттенках серого в псевдоцвете.
1. Создайте 256-цветную палитру, в которой насыщенность и значение равны 255, а тон варьируется от 0 до MAXH.
2. Объедините компоненты HSV и транспонируйте результат, чтобы создать массив 3 x 256.
3. Используйте функцию hsv_to_rgb, чтобы создать матрицу RGB 3 x 256 элементов палитры.
4. Транспонируйте матрицу RGB, чтобы создать матрицу 256 x 3, а затем поместите столбец индекса слева, чтобы создать карту цветов 256 x 4.
5. Используйте упомянутую выше палитру цветов для просмотра изображения в оттенках серого в псевдоцвете и поэкспериментируйте с различными значениями MAXH, чтобы увидеть, какой эффект это оказывает на изображение.
(bridge.bmp)
(bridge_pal.bmp)
Просмотр изображений в цветовых моделях HLS и HSV
Изображения HLS и HSV можно просматривать в области рисунка, задав тип входных данных как HLS или HSV.
1. Определите размер изображения HSV, создаваемого из трех отдельных субматриц.
2. Создайте компоненты H, S и V матрицы изображения:
3. Распечатайте созданное изображение:
(color_wheel.bmp)
Преобразование между RGB и HLS/HSV: целые изображения
Можно преобразовывать изображения RGB в HLS и HSV и наоборот с помощью приведенных выше функций.
1. Прочитайте изображение RGB.
(strike_rgb.bmp)
2. Преобразуйте изображение RGB в HLS и HSV.
(strike_hls.bmp)
(strike_hsv.bmp)
3. Преобразуйте изображения HLS и HSV обратно в RGB.