Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

makehdr

Crear imagen de rango dinámico alto

Sintaxis

HDR = makehdr(files)
HDR = makehdr(files,Name,Value,...)

Descripción

HDR = makehdr(files) crea la HDR de imagen de rango dinámico de precisión única, desde el conjunto de imágenes de bajo rango dinámico registradas espacialmente, enumeradas en la matriz de celdas files . Estos archivos deben contener metadatos de exposición EXIF . makehdr utiliza la exposición intermedia entre las imágenes más brillantes y oscuras como la exposición de base para los cálculos de rango dinámico alto. Este valor no necesita aparecer en ningún archivo en particular. Para obtener más información sobre el cálculo de este valor de exposición intermedia, consulte Algoritmos.)

ejemplo

HDR = makehdr(files,Name,Value,...) crea una imagen de rango dinámico alto, donde se pueden utilizar parámetros y valores correspondientes para controlar varios aspectos de la creación de imágenes. Los nombres de los parámetros pueden abreviarse y el caso no importa.

Nota

Sólo puede utilizar uno de los parámetros BaseFile, ExposureValuesy RelativeExposure a la vez.

Ejemplos

contraer todo

Haga una imagen de alto rango dinámico (HDR) a partir de una serie de imágenes de bajo rango dinámico que comparten el mismo número de f/stop y tienen diferentes tiempos de exposición.

Cargue seis imágenes de bajo rango dinámico. Crear un vector de sus respectivos tiempos de exposición.

files = {'office_1.jpg', 'office_2.jpg', 'office_3.jpg', ...          'office_4.jpg', 'office_5.jpg', 'office_6.jpg'}; expTimes = [0.0333, 0.1000, 0.3333, 0.6250, 1.3000, 4.0000]; montage(files)

Combine las imágenes en una imagen HDR.

hdr = makehdr(files,'RelativeExposure',expTimes./expTimes(1));

Visualice la imagen HDR.

rgb = tonemap(hdr); imshow(rgb)

Argumentos de entrada

contraer todo

Conjunto de imágenes espacialmente registradas de bajo rango dinámico, especificadas como una matriz de cadenas o una matriz de vectores de caracteres. Las imágenes de entrada pueden ser de color o de escala de grises, y pueden tener una profundidad de bits de 8 o 16.

Tipos de datos: char | string | cell

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos Name,Value . Name es el nombre del argumento y Value es el valor correspondiente. Name debe aparecer dentro de comillas simples (' '). Puede especificar varios argumentos de par de nombre y valor en cualquier orden como Name1,Value1,...,NameN,ValueN.

Ejemplo:

Nombre del archivo que se utilizará como exposición base, especificado como un vector de cadena escalar o de carácter.

Tipos de datos: char | string

Valor de exposición de cada archivo en el conjunto, especificado como un vector numérico de valores positivos, con un elemento para cada imagen de rango dinámico bajo en files. Un aumento de uno valor de la exposición (EV) corresponde a doblar de la exposición, mientras que una disminución de una EV corresponde a la mitad de la exposición. Se permite cualquier valor positivo. Los valores especificados mediante este parámetro reemplazan los metadatos de exposición EXIF .

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Valor relativo de exposición de cada imagen de rango dinámico bajo en el conjunto, especificada como un vector numérico con un elemento para cada imagen de rango dinámico bajo en files. Una imagen con una exposición relativa (re) de 0,5 tiene la mitad de exposición que una imagen con un re de 1,0. Un valor de re de 3 tiene tres veces la exposición de una imagen con un re de 1. Los valores especificados mediante este parámetro reemplazan los metadatos de exposición EXIF .

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Valor mínimo expuesto correctamente, especificado como escalar numérico. Para cada imagen de rango dinámico bajo, los píxeles con valores más pequeños se consideran subexpuestos y no contribuyen a la imagen final de rango dinámico alto. Si se omite el valor de este parámetro, se supone que es el 2% de la intensidad máxima permitida por el tipo de datos de imagen.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Valor máximo expuesto correctamente, especificado como escalar numérico. Para cada imagen de rango dinámico bajo, los píxeles con valores más grandes se consideran sobreexpuestos y no contribuyen a la imagen final de rango dinámico alto. Si se omite el valor de este parámetro, se supone que es 98% de la intensidad máxima permitida por el tipo de datos de imagen.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Argumentos de salida

contraer todo

Imagen de rango dinámico alto, devuelta como una matriz numérica.

Tipos de datos: single

Algoritmos

La función makehdr calcula la exposición intermedia al calcular los valores de exposición (EV) para cada imagen, basándose en los metadatos de apertura y velocidad de obturación almacenados en los archivos o especificados mediante el parámetro 'Exposurevalues' . El EV de una imagen intermedia (hipotética o real) se utiliza como exposición base. Así, la exposición media es un promedio del EV más alto y más bajo, no de brillo real (debido a la naturaleza no lineal, geométrica de EV).

Referencias

[1] Reinhard, et al.High Dynamic Range Imaging 2006. Ch. 4.

Consulte también

|

Introducido en R2008a