exponenta event banner

im2gray

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

    Синтаксис

    Описание

    пример

    I = im2gray(RGB) преобразует указанное изображение truecolor RGB к изображению интенсивности оттенков серого I. im2gray функция принимает изображения в градациях серого в качестве входных данных и возвращает их без изменений.

    im2gray функция преобразует изображения RGB в градации серого, устраняя цветовой тон и информацию о насыщении, сохраняя яркость.

    Примеры

    свернуть все

    Считывание изображения truecolor (RGB) в рабочую область из файла и его отображение.

    RGB = imread('example.tif');
    figure;
    imshow(RGB);

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

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

    I = im2gray(RGB);

    Отображение преобразованного изображения в оттенках серого.

    figure;
    imshow(I);

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

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

    свернуть все

    Изображение Truecolor, указанное как числовой массив m-by-n-by-3. im2gray также принимает m-на-n числовых массивов (изображения в градациях серого) и возвращает их немодифицированными.

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

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

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

    свернуть все

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

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

    Совет

    • im2gray функция идентична rgb2gray за исключением того, что он может принимать изображения в градациях серого в качестве входных данных, возвращая их без изменений. rgb2gray функция возвращает ошибку, если входное изображение является изображением в градациях серого. Если вы используете im2gray функция, код, подобный этому циклу, больше не требуется.

      if ndims(I) == 3
          I = rgb2gray(I);
      end
      
    • В отличие от rgb2gray функция, im2gray функция не принимает карты цветов в качестве входных данных. Чтобы преобразовать карту цветов в градации серого, используйте cmap2gray функция.

    Алгоритмы

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

    0.2989 * R + 0.5870 * G + 0.1140 * B 
    

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

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

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

    0.299 * R + 0.587 * G + 0.114 * B
    

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

    .

    См. также

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

    Представлен в R2020b