im2double

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

Описание

пример

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

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

Примеры

свернуть все

Считайте демонстрационное изображение типа данных uint8.

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

  I         384x512x3            589824  uint8              

Преобразуйте изображение в тип данных double.

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) изображение, это может быть uint8uint16'double'логическийединственный, или int16.

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

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

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

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

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

свернуть все

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

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

Советы

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

    Примечание

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

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

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

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

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

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

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