im2double

Преобразование изображения в двойную точность

Синтаксис

I2 = im2double(I)
I2 = im2double(I,'indexed')

Описание

пример

I2 = im2double(I) преобразовывает изображение I в двойную точность. I может быть полутоновым изображением интенсивности, изображением истинного цвета или двухуровневым изображением. im2double повторно масштабирует вывод от целочисленных типов данных до области значений [0, 1].

I2 = im2double(I,'indexed') преобразовывает индексируемое изображение I в двойную точность. im2double добавляет смещение 1 к выводу от целочисленных типов данных.

Примеры

свернуть все

I = imread('peppers.png');
whos I
  Name        Size                Bytes  Class    Attributes

  I         384x512x3            589824  uint8              
I2 = im2double(I);
whos I2
  Name        Size                 Bytes  Class     Attributes

  I2        384x512x3            4718592  double              

Преобразуйте массив, чтобы классифицировать double на графическом процессоре. Этот пример требует Parallel Computing Toolbox™.

I1 = gpuArray(reshape(uint8(linspace(1,255,25)),[5 5]));
I2 = im2double(I1);

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

свернуть все

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

  • Если I является полутоновым или истинным цветом (RGB) изображение, это может быть uint8, uint16, double, logical, single или int16.

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

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

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

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

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

свернуть все

Преобразованное изображение, возвращенное как числовой массив, одного размера как входное изображение I.

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

Советы

  • Если тип данных входного изображения, I является double, single или logical, то значения выходного пикселя идентичны значениям входного пикселя.

    Примечание

    Много MATLAB®functions ожидают, что пиксельными значениями будет в области значений [0, 1] для изображений истинного цвета типа данных single или double. Функция im2double не повторно масштабирует вывод, когда входное изображение имеет тип данных double или single. Если ваше входное изображение является изображением истинного цвета типа данных single или double с пиксельными значениями вне этой области значений, то можно использовать функцию rescale, чтобы масштабировать пиксельные значения к ожидаемой области значений [0, 1].

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

  • Если I является индексируемым изображением с типом данных uint8 или uint16, то im2double добавляет смещение 1 к значениям выходного пикселя.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

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