im2uint8

Преобразуйте изображение в 8-битное беззнаковое целое

Синтаксис

J = im2uint8(I)
J = im2uint8(I,'indexed')

Описание

пример

J = im2uint8(I) преобразовывает шкалу полутонов, RGB или двухуровневое изображение I к uint8, повторно масштабируясь или смещая данные по мере необходимости.

Если входное изображение имеет класс uint8, то выходное изображение идентично. Если входное изображение имеет класс logical, то im2uint8 изменяет элементы с истинным знаком на 255.

Опционально можно выполнить преобразование с помощью графического процессора (требует Parallel Computing Toolbox™). Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.

J = im2uint8(I,'indexed') преобразовывает индексируемое изображение I в uint8, смещая данные при необходимости.

Примеры

свернуть все

Создайте массив класса uint16.

I = reshape(uint16(linspace(0,65535,25)),[5 5])
I = 5x5 uint16 matrix

       0   13653   27306   40959   54613
    2731   16384   30037   43690   57343
    5461   19114   32768   46421   60074
    8192   21845   35498   49151   62804
   10923   24576   38229   51882   65535

Преобразуйте массив, чтобы классифицировать uint8.

I2 = im2uint8(I)
I2 = 5x5 uint8 matrix

     0    53   106   159   213
    11    64   117   170   223
    21    74   128   181   234
    32    85   138   191   244
    43    96   149   202   255

Создайте массив класса uint16.

I1 = gpuArray(reshape(uint16(linspace(0,65535,25)),[5 5]))

Преобразуйте массив в uint8.

I2 = im2uint8(I1);

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

свернуть все

Введите изображение, заданное как числовой или логический массив любого размера и размерности.

  • Если I является шкалой полутонов или изображением RGB, то это может быть uint8, uint16, double, logical, single или int16. Значения интенсивности для входного изображения класса single или double должны быть в области значений [0, 1].

    Примечание

    Если I имеет класс single или double со значениями вне области значений [0, 1] затем можно использовать функцию rescale, чтобы повторно масштабировать значения к ожидаемой области значений.

  • Если I является индексируемым изображением, то это может быть uint8, uint16, double или logical.

    Примечание

    Не всегда возможно преобразовать индексируемое изображение в uint8. Если индексируемое изображение имеет класс double, то максимальное значение должно быть 256 или меньше. Если индексируемое изображение имеет класс uint16, то максимальное значение должно быть 255 или меньше.

  • Если I является двухуровневым изображением, то это должен быть logical.

Чтобы выполнить преобразование с помощью графического процессора, задайте I как gpuArray, который содержит числовой или логический массив любого размера и размерности.

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

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

свернуть все

Отобразите с классом uint8, возвращенный как числовой массив с тем же размером и размерностью как I.

Если преобразование выполняется с помощью графического процессора, то J возвращен как gpuArray, содержащий числовой массив.

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

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

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

| | | |

Представлено до R2006a