Пример. Цветовые модели HLS и HSV
Используйте функции , rgb_to_hls, hls_to_rgb и rgb_to_hsvhsv_to_rgb для преобразования цветного представления изображений и цветных векторов.
Сведения об использовании этого примера см. в разделе Сведения о примерах обработки изображений.
Преобразование между 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.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
(strike_rgb2.bmp)
(strike_rgb3.bmp)
Было ли это полезно?