exponenta event banner

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 на GPU. В этом примере требуется 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.

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

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

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

свернуть все

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

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

Совет

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

    Примечание

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

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

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

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

.

См. также

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

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