exponenta event banner

rgb2gray

Преобразование RGB-изображения или карты цветов в градации серого

Описание

пример

I = rgb2gray(RGB) преобразует изображение truecolor RGB к изображению в градациях серого I. rgb2gray функция преобразует изображения RGB в градации серого, устраняя цветовой тон и информацию о насыщении, сохраняя яркость. Если установлены Toolbox™ параллельных вычислений, rgb2gray может выполнять это преобразование на графическом процессоре.

пример

newmap = rgb2gray(map) возвращает карту цветов в оттенках серого, эквивалентную map.

Примеры

свернуть все

Чтение и отображение изображения RGB, а затем преобразование его в градации серого.

Прочитайте образец файла, peppers.pngи отобразить изображение RGB.

RGB = imread('peppers.png');
imshow(RGB)

Figure contains an axes. The axes contains an object of type image.

Преобразование изображения RGB в изображение в градациях серого и его отображение.

I = rgb2gray(RGB);
figure
imshow(I)

Figure contains an axes. The axes contains an object of type image.

Чтение индексированного изображения с картой цветов RGB. Затем преобразуйте карту цветов в градации серого.

Прочитайте образец файла, corn.tif, который является индексированным изображением с RGB-картой цветов.

[X,map] = imread('corn.tif');

Отображение изображения.

imshow(X,map)

Figure contains an axes. The axes contains an object of type image.

Преобразуйте карту цветов RGB в карту цветов в оттенках серого и снова отобразите изображение.

newmap = rgb2gray(map);
imshow(X,newmap)

Figure contains an axes. The axes contains an object of type image.

Входные аргументы

свернуть все

Изображение Truecolor, указанное как числовой массив m-by-n-by-3.

Если установлена панель инструментов для параллельных вычислений, RGB также может быть gpuArray.

Типы данных: single | double | uint8 | uint16

Карта цветов, заданная в виде цифровой матрицы c-by-3 со значениями в диапазоне [0, 1]. Каждая строка map трехэлементный RGB-триплет, определяющий красный, зеленый и синий компоненты одного цвета карты цветов.

Если установлена панель инструментов для параллельных вычислений, map также может быть gpuArray.

Типы данных: double

Выходные аргументы

свернуть все

Изображение в градациях серого, возвращаемое в виде числового массива m-by-n.

Если установлена панель инструментов Parallel Computing Toolbox, то I также может быть gpuArray.

Карта цветов в градациях серого, возвращенная в виде цифровой матрицы c-by-3 со значениями в диапазоне [0, 1]. Три столбца newmap идентичны, так что каждая строка map задает одно значение интенсивности.

Если установлена панель инструментов Parallel Computing Toolbox, то newmap также может быть gpuArray.

Типы данных: double

Совет

  • rgb2gray поддерживает генерацию кода C с помощью Coder™ MATLAB ®.

Алгоритмы

rgb2gray преобразует RGB-значения в градации серого путем формирования взвешенной суммы компонентов R, G и B:

0.2989 * R + 0.5870 * G + 0.1140 * B 

Это те же веса, которые используются rgb2ntsc(Панель инструментов обработки изображений) для вычисления компонента Y.

Коэффициенты, используемые для вычисления значений оттенков серого в rgb2gray идентичны тем, которые используются для вычисления яркости (E 'y) в BT.601-7 Rec.ITU-R после округления до 3 десятичных знаков.

Rec.ITU-R BT.601-7 вычисляет E 'y по следующей формуле:

0.299 * R + 0.587 * G + 0.114 * B

Расширенные возможности

.

Создание кода графического процессора
Создание кода CUDA ® для графических процессоров NVIDIA ® с помощью Coder™ графических процессоров

.

См. также

| (Панель инструментов обработки изображений) | (Панель инструментов обработки изображений) | (Панель инструментов обработки изображений) | (Панель инструментов обработки изображений)