rgb2gray

Преобразуйте изображение RGB или палитру к шкале полутонов

Описание

пример

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

пример

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

Примеры

свернуть все

Считайте и отобразите изображение RGB, и затем преобразуйте его в шкалу полутонов.

Считайте файл примера, peppers.png, и отобразите изображение RGB.

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

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

Преобразуйте изображение RGB в полутоновое изображение и отобразите его.

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

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

Считайте индексируемое изображение с палитрой RGB. Затем преобразуйте палитру в шкалу полутонов.

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

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

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

imshow(X,map)

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

Преобразуйте палитру RGB в полутоновую палитру и вновь отобразите изображение.

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

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

Входные параметры

свернуть все

Изображение истинного цвета в виде m-by-n-by-3 числовой массив.

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

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

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

Если вам установили Parallel Computing Toolbox, 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 поддерживает генерацию кода С с помощью MATLAB® Coder™.

Алгоритмы

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

0.2989 * R + 0.5870 * G + 0.1140 * B 

Это те же веса, используемые rgb2ntsc (Image Processing Toolbox) функция, чтобы вычислить компонент Y.

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

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

0.299 * R + 0.587 * G + 0.114 * B

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

Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.

Смотрите также

(Image Processing Toolbox) | (Image Processing Toolbox) | (Image Processing Toolbox) | | (Image Processing Toolbox)