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 классов на графическом процессоре. Этот пример требует Toolbox™ Parallel Computing.

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

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

свернуть все

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

  • Если I является изображением в полутоновом или truecolor (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®функции ожидают, что значения пикселей будут в области значений [0, 1] для изображений truecolor типа данных single или double. The im2double функция не преобразует выхода, когда вход изображение имеет single или double тип данных. Если ваше входное изображение является изображением truecolor типа данных single или double с пиксельными значениями вне этой области значений, тогда вы можете использовать rescale функция для масштабирования значений пикселей до ожидаемой области значений [0, 1].

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

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

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

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

.

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

.

См. также

| (Image Processing Toolbox) | (Набор Image Processing Toolbox) | (Набор Image Processing Toolbox) | (Набор Image Processing Toolbox) | (Parallel Computing Toolbox)

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