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

Cree una imagen de alto rango dinámico

Descripción

ejemplo

HDR = makehdr(files) crea la imagen de precisión simple y alto rango dinámico (HDR) del conjunto de imágenes de bajo rango dinámico (LDR) registradas espacialmente.HDRfiles

HDR = makehdr(imds) crea la imagen de alto rango dinámico de precisión simple a partir del conjunto de imágenes LDR registradas espacialmente almacenadas como objeto.HDRImageDatastoreimds

ejemplo

HDR = makehdr(___,Name,Value) utiliza pares nombre-valor para controlar varios aspectos de la creación de la imagen, además del argumento de entrada de cualquiera de las sintaxis anteriores.

Nota

Los archivos de imagen de entrada deben contener los metadatos de exposición de formato de archivo de imagen intercambiable (EXIF). utiliza la exposición intermedia entre las imágenes más brillantes y más oscuras como la exposición de base para los cálculos de HDR.makehdr Este valor no tiene que 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

Ejemplos

contraer todo

Cree una imagen de alto rango dinámico (HDR) a partir de un conjunto de imágenes de bajo rango dinámico (LDR) que compartan el mismo f-stop pero que tengan diferentes tiempos de exposición.

Cargue seis imágenes de bajo rango dinámico en el espacio de trabajo. Cree un vector de sus respectivos tiempos de exposición. Visualice las imágenes como un montaje.

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 LDR en una imagen HDR.

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

Visualice la imagen HDR.

rgb = tonemap(hdr); imshow(rgb)

Cree una imagen de alto rango dinámico (HDR) a partir de un conjunto de seis imágenes de bajo rango dinámico (LDR) que compartan el mismo f-stop pero que tengan diferentes tiempos de exposición. Los valores estimados de la función de respuesta de la cámara se calculan a partir de estas imágenes LDR y se utilizan para generar una imagen HDR.

Lea el conjunto de seis imágenes LDR registradas espacialmente en el espacio de trabajo. Cree un objeto que contenga estas imágenes.imageDatastore Visualice las imágenes como un montaje.

setDir = fullfile(toolboxdir('images'),'imdata','office_*'); imds = imageDatastore(setDir); montage(imds)

Estime la función de respuesta de la cámara a partir de imágenes del almacén de datos.

crf = camresponse(imds);

Combine las imágenes LDR en una imagen HDR utilizando los valores estimados de la función de respuesta de la cámara.

hdr = makehdr(imds,'CameraResponse',crf);

Visualice la imagen HDR.

rgb = tonemap(hdr); imshow(rgb)

Argumentos de entrada

contraer todo

Conjunto de imágenes LDR registradas espacialmente, especificadas como una matriz de cadenas o una matriz de vectores de caracteres. Estas imágenes pueden ser de color o escala de grises de cualquier profundidad de bits. Sin embargo, la profundidad de bits preferida para las imágenes LDR es 8 o 16.

Tipos de datos: char | string | cell

Conjunto de imágenes LDR registradas espacialmente, especificadas como un objeto.ImageDatastore Estas imágenes pueden ser de color o escala de grises de cualquier profundidad de bits. Sin embargo, la profundidad de bits preferida para las imágenes LDR es 8 o 16.

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: makehdr(files,'RelativeExposure',[0.1 0.3 0.4]);

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

Tipos de datos: char | string

Nota

Solo puede usar uno de los pares de nombre y valor a la vez.'BaseFile''ExposureValues''RelativeExposure'

Valor de exposición de cada archivo en el conjunto de entrada, especificado como un vector numérico de valores positivos. El elemento TH en el vector corresponde a la imagen LDR del conjunto de entrada.kk Un aumento de un valor de exposición (EV) equivale a duplicar la exposición. Una disminución de un EV corresponde a reducir a la mitad la exposición. Si especifica este parámetro, la función reemplaza los metadatos de exposición EXIF.

Tipos de datos: single | double

Valor de exposición relativa de cada archivo en el conjunto de entrada, especificado como un vector numérico de valores positivos. El elemento TH en el vector corresponde a la imagen LDR del conjunto de entrada.kk

Por ejemplo, una imagen con un valor de exposición relativa (RE) de 0,5 tiene la mitad de exposición que una imagen con un valor RE de 1. Del mismo modo, una imagen con un valor RE de 3 tiene tres veces la exposición de una imagen con un valor RE de 1. Si especifica este parámetro, la función reemplaza los metadatos de exposición EXIF.

Tipos de datos: single | double

Valor mínimo expuesto correctamente, especificado como un entero positivo. Para cada imagen LDR, los píxeles con un valor menor que este mínimo se consideran subexpuestos y no contribuyen a la imagen HDR final. De forma predeterminada, este valor mínimo se establece en el 2% de la intensidad máxima permitida por el tipo de datos de imagen.

Tipos de datos: single | double

Valor máximo expuesto correctamente, especificado como un entero positivo. Para cada imagen LDR, los píxeles con un valor mayor que este máximo se consideran sobreexpuestos y no contribuyen a la imagen HDR final. De forma predeterminada, este valor máximo se establece en 98% de la intensidad máxima permitida por el tipo de datos de imagen.

Tipos de datos: single | double

Función de respuesta de la cámara, especificada como vector a-por-1 para imágenes en escala de grises y matriz-por-3 para imágenes en color.nn La función de respuesta de la cámara asigna el valor de exposición logaritmo (resplandor de escena) a los niveles de intensidad de las imágenes de entrada. El valor es de 2nbit depth. Por ejemplo, si la profundidad de bits del conjunto de imágenes de entrada es 8, entonces es 256.n

Nota

Los pares de nombre y valor se omiten cuando se especifica.'MaximumLimit''MinimumLimit''CameraResponse'

Tipos de datos: single | double

Argumentos de salida

contraer todo

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

Tipos de datos: single

Algoritmos

La función calcula el valor de exposición intermedia utilizando los valores de exposición (EVs) de las imágenes de entrada.makehdr El valor de exposición de cada imagen se calcula en función de la apertura y la velocidad de obturación. Los valores de apertura y velocidad de obturación se almacenan en los metadatos EXIF de ese archivo de entrada o se especifican mediante el par nombre-valor.'ExposureValues' El EV medio se calcula como un promedio de los EVs más altos y más bajos y se utiliza como exposición de base.

Referencias

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

[2] Debevec, P.E., and J. Malik. "Recovering High Dynamic Range Radiance Maps from Photographs." In ACM SIGGRAPH 2008 classes, Article No. 31. New York, NY: ACM, 2008.

Introducido en R2008a