Fecha actual Jue Nov 21, 2024 10:37 am


Generando un RAW en formato DNG a partir de un TIFF

El rincón de los hilos tecnofrikis

Moderadores: IOM60, laucsap60, klomp, Siniestro, Guillermo Luijk, Pablo Valido

Generando un RAW en formato DNG a partir de un TIFF

Notapor Guillermo Luijk » Jue Abr 08, 2021 11:29 pm

Aprovechando que estaba ayer jugando a construir RAWs promedio de varias capturas RAW para emular el ISO6 de la Sigma fp L, he hecho lo propio con una escena de alto contraste: con solo 2 archivos RAW separados la friolera de 6EV, he construido un archivo RAW mezcla de ambas capturas (toma todos los fotocaptores no saturados del RAW más expuesto, y en los saturados acude al RAW menos expuesto). El resultado es un RAW HDR que conserva toda la información de altas luces pero además permite levantar las sombras sin ruido. El salto de 6EV es tan bestia que en algunas paredes se nota una frontera de relación S/N.

La fusión HDR es radical no solo por el salto de 6EV, sino sobre todo porque como estamos construyendo un RAW donde aún no se ha hecho la interpolación Bayer, elegimos individualmente de qué RAW origen viene la información de cada fotocaptor individualmente, y además apurando al máximo (he considerado el umbral de la saturación en un 95%, lo que está a solo -0,07EV de la saturación).

Así tenemos fotocaptores procedentes de un RAW rodeados de vecinos procedentes del otro según los caprichos de la matriz de Bayer, pero al hacer el revelado las texturas salen perfectas (esperaba encontrarme artefactos por micro-desalineamientos). Los fotocaptores que vienen de la captura más expuesta se corrigen previamente en exposición a la baja (-6EV) para igualarlos a los otros antes de construir el RAW, o de lo contrario el revelado sería un desastre.

La escena es ésta (no me he preocupado de procesarla con mimo):
Imagen

El histograma RAW del DNG HDR al ser de 16 bits está repleto de niveles y muestra los 12-13 pasos de rango dinámico de la escena:
Imagen

Aquí puede verse lo radical de la fusión (recortes al 200% del mapa de fusión, indicando en blanco los fotocaptores que vienen del RAW menos expuesto y en negro los del RAW más expuesto):
Imagen
Imagen

Ésta es la comparación del RAW HDR con lo que habríamos tenido de ruido en las sombras profundas si solo hubiéramos hecho la captura que derechea las altas luces:
Imagen

Por si alguien quiere jugar con el RAW HDR: hdr.dng

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

3 tomas separadas 3EV

Notapor Guillermo Luijk » Sab Abr 10, 2021 10:51 pm

He generalizado la rutina para admitir cualquier número de archivos RAW con cualquier diferencia de exposición entre ellos. El resultado de nuevo es un RAW con la misma exposición que el de menor exposición de todos ellos pero sin ruido en las sombras.

Para la misma escena de antes se ha añadido un RAW intermedio que deseché en la otra fusión. La imagen no cambia nada de aspecto, pero ciertos saltos de presencia de ruido que eran visibles en algunas superficies, ya no lo son. El problema de esta fusión RAW es que se llega a los límites de rango dinámico que soporta un RAW lineal de 16 bits y empiezan los indicios de posterización:

Imagen

Por lo que he visto el formato DNG soporta poder codificar los valores RAW de forma no lineal (lo que solucionaría el problema) con una LUT que permita al revelador RAW deshacer la curva no lineal (meta info.SubIFDs{1}.LinearizationTable). Si no me vence la pereza quizá lo intente.

Las exposiciones relativas entre RAWs (que se ajustaron a 3EV en la cámara), fueron:
Código: Seleccionar todo
Relative exposures (EV): 3.02 6.02


La rutina también informa de qué % de la superficie del sensor se usa para calcular la exposición relativa entre RAWs:
Código: Seleccionar todo
Data participating in relative exposure calculation (%): 10.01 30.84


Desviaciones de exposición de la cámara:
Imagen

Se calcula también la aportación de cada RAW al resultado:
Código: Seleccionar todo
Contribution of raw1.tiff: 20.21%
Contribution of raw2.tiff: 16.67%
Contribution of raw3.tiff: 63.12%


Si alguien quiere jugar con el RAW: http://www.guillermoluijk.com/misc/hdr_3shots.dng

El código:
Código: Seleccionar todo
library(tiff)


# PARAMETERS
N=3  # number of RAW files to merge
NAME="raw"  # RAW filenames
gamma=1  # output gamma
# NOTE: only gamma=1 guarantees correct colours but could lead to posterization


# READ RAW DATA

# RAW files must be named: raw1.dng, raw2.dng,... from lower to higher exposure
# RAW extraction using  DCRAW: dcraw -v -d -r 1 1 1 1 -S 16376 -4 -T *.dng
img=list()
txt=list()
for (i in 1:N) {
    img[[i]]=readTIFF(paste0(NAME, i, ".tiff"), native=F, convert=F)
    txt[[i]]=paste0(NAME, i, "vs", NAME, i+1)
}


# RELATIVE EXPOSURE CALCULATIONS
MIN=2^(-5)  # from -5EV... (NOTE: MIN must be >= bracketing EV intervals)
MAX=0.95  # ...up to 95%

indices=list()
exprel=list()
f=array(-1, N-1)
for (i in 1:(N-1)) {
    indices[[i]]=which(img[[i]]>=MIN & img[[i]]<=MAX &
                       img[[i+1]]>=MIN & img[[i+1]]<=MAX)
    exprel[[i]]=img[[i+1]][indices[[i]]]/img[[i]][indices[[i]]]
    f[i]=median(exprel[[i]])  # linear exposure correction factor
}
print("Relative exposures vs lowest exposure shot (EV):")
print(round(log(cumprod(f),2),2))

# Relative exposure histograms
png("relexposure_histogram.png", width=640, height=320*(N-1))
par(mfrow=c(N-1,1))
for (i in 1:(N-1)) {
    flog=log(f[i],2)
    rflog=round(flog)
    exprelog=log(exprel[[i]],2)
    hist(exprelog[exprelog>=rflog-1/3 & exprelog<=rflog+1/3],
         main=paste0('Relative exposure histogram (', txt[[i]], ')'),
         xlab=paste0('EV (calculated: ', round(flog,2), 'EV)'),
         breaks=seq(rflog-1/3, rflog+1/3, length.out=800)
    )
    abline(v=flog, col='red')  # calculated relative exposure
    abline(v=rflog, col='gray', lty='dotted')  # closest int EV mark
}
dev.off()

# Relative exposure calculation map
solape=array(-1, N-1)
for (i in 1:(N-1)) {
    mapacalc=img[[i]]*0
    mapacalc[indices[[i]]]=1  # 1=pixel participated in the calculation
    writeTIFF(mapacalc, paste0("mapacalc_", txt[[i]], ".tif"),
              bits.per.sample=8, compression="LZW")
    solape[i]=length(indices[[i]])/length(img[[i]])  # % of data participating
}
print("Data participating in relative exposure calculation (%):")
print(round(solape*100,2))


# BUILD HDR COMPOSITE
hdr=img[[1]]  # start with lowest exposure
mapafusion=img[[i]]*0+1
for (i in 2:N) {
    indices=which(img[[i]]<=MAX)  # non-clipped highest exposure
    hdr[indices]=img[[i]][indices]/cumprod(f)[i-1]  # overwrite+exp correction
    mapafusion[indices]=i
}

if (max(hdr)<1) print(paste0("Output ETTR'ed by: +",
                             round(-log(max(hdr),2),2), "EV"))
writeTIFF((hdr/max(hdr))^(1/gamma), "hdr.tif", bits.per.sample=16,
          compression="none")

# Fusion map and RAW data files contributions
writeTIFF((mapafusion-1)/(N-1), "mapafusion.tif",
          bits.per.sample=8, compression="LZW")
for (i in 1:N) print(paste0("Contribution of ", NAME, i, ".tiff: ",
            round(length(which(mapafusion==i))/length(mapafusion)*100,2),"%"))



# Bit decimation
# 10, 12, 14 bits versions -> 1024, 4096, 16384 levels
for (bits in seq(10,14,2)) {
    hdr2=round(hdr*(2^bits-1))
    writeTIFF((hdr2/max(hdr2))^(1/gamma), paste0("hdr_",bits,"bits.tif"),
              bits.per.sample=16, compression="none")
}


Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Número de bits del RAW y posterización

Notapor Guillermo Luijk » Dom Abr 11, 2021 12:02 pm

Añado una nueva prueba que viene muy bien para entender por qué a mayor rango dinámico de un sensor se requieren más bits en la codificación de los RAW para que no aparezca posterización. Los bits no dan el rango dinámico, pero sin una cantidad de bits igual o superior a la necesaria para soportar el rango dinámico del sensor aparece posterización.

Imagen

Para la escena que teníamos, de 12-13 pasos de rango dinámico, el RAW de 14 bits (la mayoría de actuales) aguanta el tipo, pero con 12 bits (réflex digitales antiguas y M4/3) ya aparece posterización, que se nota mucho más aún si el RAW es de solo 10 bits (como los de la mayoría de móviles).

Si alguien quiere jugar con los RAWs:

http://www.guillermoluijk.com/misc/hdr_ ... 10bits.dng
http://www.guillermoluijk.com/misc/hdr_ ... 12bits.dng
http://www.guillermoluijk.com/misc/hdr_ ... 14bits.dng

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

dngmaker.bat: script generación DNG

Notapor Guillermo Luijk » Jue Abr 15, 2021 11:04 pm

Para agilizar futuras pruebas que quiero hacer he simplificado el script con el que generaba el DNG de salida y lo he subido a este repositorio (se llama dngmaker.bat y hace llamadas a exiftool.exe y dng_validate.exe, incluidos):

https://github.com/gluijk/hdr-dng

Genera un RAW genuino en formato DNG a partir de un TIFF que respete la matriz de Bayer de nombre bayer.tif. Replica vía exiftool los metadatos de un DNG cualquiera que debe colocarse en la carpeta donde se ejecute el script. Un ejemplo de RAW procedente de otros dos y con texto:

http://www.guillermoluijk.com/misc/rawn ... igital.dng

Imagen

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Resta lineal en RAW

Notapor Guillermo Luijk » Dom Abr 18, 2021 3:45 pm

Ahora he replicado, pero en RAW, el ejercicio de resta lineal que hice aquí.

Se trata de lograr eliminar el efecto de una iluminación ambiente (básicamente la luz que entra por la ventana desde el lado izquierdo), de la iluminación artificial que proyecta una lámpara por la derecha. Es decir queremos emular durante el día lo que solo podríamos conseguir a oscuras o de noche:

Imagen

La imagen calculada (abajo izq.), restándole a la captura con todas las luces (arriba izq.), la obtenida apagando la luz artificial (arriba der.), es idéntica a la que he obtenido a oscuras (he bajado las persianas).
El tono azulado de las imágenes superiores se debe a que he revelado los 4 RAW con el mismo balance de blancos, ajustado a la luz artificial. Por comparación la luz natural es mucho más fría.

Si hacemos zoom al 100%:

Imagen

El ruido que aparece en las sombras de la imagen que solo tiene luz artificial es interesante de explicar. Es ruido puramente fotónico, el que jamás molesta en las fotos porque se da en las zonas donde la exposición es muy alta, en lugar de electrónico.

Para que se haga visible en este ejercicio deben darse dos circunstancias a la vez:
  • Zona con alta exposición de la iluminación Ambiente (la que vamos a suprimir), y a la vez
  • Zona con baja exposición de la iluminación Artificial (la que vamos a aislar)

Es un ruido que existe en todas las fotos, pero no lo vemos porque queda enmascarado por la señal útil (la parte de imagen que no es ruido). Qué pasa si restas dos imágenes con mucha señal útil? te quedas solo con el ruido fotónico. De hecho la resta equivale a duplicar ese ruido fotónico (en cuestión de ruido sumar y restar valores es equivalente). Lo podéis probar poniendo dos capturas muy expuestas de la misma escena en modo Diferencia de Photoshop. Lo que sale, que es mucho en las altas luces de la escena, es el ruido fotónico.

Los RAW para jugar:
http://www.guillermoluijk.com/misc/ambi ... ficial.dng
http://www.guillermoluijk.com/misc/soloambiente.dng
http://www.guillermoluijk.com/misc/restaraw.dng
http://www.guillermoluijk.com/misc/soloartificial.dng

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Generando un RAW en formato DNG a partir de un TIFF

Notapor Guillermo Luijk » Vie Abr 23, 2021 5:57 pm

Para poner ideas en orden, porque sino pasa el tiempo y ya se me olvida todo, he puesto "en limpio" todos los ejercicios de construcción de archivos RAW en formato DNG:

Generando un RAW en formato DNG a partir de un TIFF

Imagen

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Eliminar sujetos en movimiento

Notapor Guillermo Luijk » Lun May 03, 2021 8:13 pm

Me faltaba un fleco final por probar de estos procesados en RAW, y es el de utilizar la mediana para eliminar sujetos en movimiento y de paso compararla con la media. A partir de 5 fotos de coches pasando por una autovía he generado el RAW media y el RAW mediana, para ver cómo integra los coches una y otra.

En el RAW promedio como solo eran 5 fotos se llegan a ver fantasmas de todos los coches:
Imagen

En el RAW mediana se eliminan los coches bastante bien salvo pequeños residuos donde han coincidido coches en más de la mitad de las tomas (en este caso 3 tomas con coches en el mismo sitio):
Imagen

Independientemente de ese resultado a nivel general, que es conocido y era el esperable, saco varias lecturas adicionales que no esperaba tanto o no había previsto:
  • Como las fotos se han hecho desde un puente, con viento y usando un trípode de viaje (o sea todo en contra), era imposible no tener desalineamientos importantes entre tomas. Además como es festivo para que el ejercicio tuviera sentido esperé a propósito a momentos con más tráfico lo que alargaba el tiempo de posible desalineamiento. Como no he alineado las tomas (al ser una fusión de RAWs es un poco complicado, y la alineación sería en todo caso en múltiplos de 2 píxeles) el RAW promedio pierde mucha nitidez. La sorpresa me la he llevado en el RAW mediana, donde esperaba que el desalineamiento se tradujera en artefactos muy importantes con falsos colores, y sin embargo lo que ha ocurrido es que al tomar valores centrales, la mediana ha actuado como un buen eliminador del desalineamiento al tomar la info. del mismo RAW en amplias áreas.
  • Por otro lado cuando en la media han intervenido RAWs saturados, se han generado altas luces magenta tras aplicar el balance de blancos. Esto tiene una solución sencilla que es mantener valores de saturación al hacer la media en cuanto al menos uno de los RAW participantes esté saturado. La mediana es inmune a este efecto porque en ella siempre sobrevive el valor de uno de los 5 RAWs, así que si está saturado así permanece.
  • Muestro en recorte al 100% uno de los residuos de la mediana. Los esperaba mucho más dispersos (como con píxeles sueltos) y me ha sorprendido que son bloques compactos, lo que cuadra con lo comentado en el punto anterior de amplias zonas con todos los píxeles provenientes del mismo RAW como puede verse abajo en el mapa de fusión.
Imagen

En el mapa de fusión podemos ver de qué archivo RAW procede cada dato (los 5 tonos de gris representan los 5 RAWs):
Imagen

Si alguien se quiere bajar los RAW media y mediana para cotillearlos:
http://guillermoluijk.com/datosimagensonido/rawmean.dng
http://guillermoluijk.com/datosimagenso ... median.dng

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Re: Generando un RAW en formato DNG a partir de un TIFF

Notapor Rafa18 » Mié May 05, 2021 12:29 pm

Muy interesante.

Para generar el RAW-HDR ¿Cómo haces las tomas?

¿Expones al 0 y luego haces las siguientes fotos exponiendo a +1, +2, etc. o cómo?

¿Se podría hacer el proceso de fusionar los RAWs bajo Linux?
Olympus PEN F
Avatar de Usuario
Rafa18
 
Mensajes: 2778
Registrado: Mié Feb 21, 2018 11:33 am

Re: Generando un RAW en formato DNG a partir de un TIFF

Notapor Guillermo Luijk » Mié May 05, 2021 8:44 pm

Rafa18 escribió:Para generar el RAW-HDR ¿Cómo haces las tomas?

¿Expones al 0 y luego haces las siguientes fotos exponiendo a +1, +2, etc. o cómo?

¿Se podría hacer el proceso de fusionar los RAWs bajo Linux?

Hice un ahorquillado de 5 capturas con separación 3EV programado tal cual en la cámara, y me quedé con las 3 más expuestas. La tengo configurada para que tome los parámetros ajustados en el momento del disparo como los de la toma inicial, y de ahí tira a exposiciones mayores. Casi todas las cámaras dejan jugar con número de capturas, separación y posición de la toma inicial.

Código: Seleccionar todo
exiftool -shutterspeed *.dng
======== _DSC3845.dng
Shutter Speed                   : 1/3200
======== _DSC3846.dng
Shutter Speed                   : 1/400
======== _DSC3847.dng
Shutter Speed                   : 1/50
======== _DSC3848.dng
Shutter Speed                   : 1/6
======== _DSC3849.dng
Shutter Speed                   : 1.3


Mi PEN E-P5 también tiene ese bracketing predefinido así que tu PEN también debe:
Imagen

El procesado está hecho en R, que existe en Linux pero tienes que trastear un poco. Exiftool y dng_validate supongo que también existen en Linux. Pero vamos no es un proceso para el día a día, me lo he tomado como ejercicio matemático y porque quería tener un flujo para crear RAWs puntualmente en ejercicios futuros.

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Re: Generando un RAW en formato DNG a partir de un TIFF

Notapor Rafa18 » Vie May 07, 2021 11:13 pm

Poder hacer fotos como la que has puesto del interior de la casa de forma sencilla le iría de perlas a más de una inmobiliaria. :lol:

A ver si puedo sacar tiempo y "me lo estudio".
Olympus PEN F
Avatar de Usuario
Rafa18
 
Mensajes: 2778
Registrado: Mié Feb 21, 2018 11:33 am

Descomposición lineal de fuentes de iluminación en RAW

Notapor Guillermo Luijk » Mié May 12, 2021 11:04 pm

Y el remate del ejercicio de 'Descomposición lineal de fuentes de iluminación en RAW' es construir un RAW final en el que dos fuentes de luz que originalmente eran como el aceite y el agua se codifiquen con la misma temperatura de color:

Iluminación Ambiente (Luz de día): http://www.guillermoluijk.com/misc/soloambiente.dng
Imagen

Iluminación Ambiente + Artificial (LED cálido): http://www.guillermoluijk.com/misc/ambi ... ficial.dng
Imagen

Pasos:
  • Aislamos la luz Artificial por resta: Artificial = (Ambiente + Artificial) - Ambiente
  • Escalamos linealmente los datos RAW de esta luz artificial para igualar su temperatura de color a la de la luz Ambiente
  • Sumamos de nuevo los datos RAW de la luz Ambiente con los datos RAW de la luz Artificial ya con la temperatura de color modificada

Iluminación Ambiente + Artificial balanceada: http://guillermoluijk.com/datosimagenso ... lanced.dng
Imagen

Tachan! un único RAW con las dos fuentes de iluminación ajustadas a la misma temperatura de color. Con un solo balance de blancos se elimina cualquier dominante, sin necesitar dobles revelados ni procesados por zonas.

Saturando ambas imágenes para resaltar la diferencia:
Imagen

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Hoja de contactos RAW

Notapor Guillermo Luijk » Sab May 22, 2021 3:48 am

Otro ejercicio más, he submuestreado varios RAWs de la siguiente forma:

Imagen

Para poder ponerlos todos juntos en un único archivo RAW a modo de hoja de contactos:

Imagen

Es decir es un archivo RAW que tiene versiones reducidas de una serie de archivos RAW, con las mismas características de los RAW originales en cuanto a capacidad de balancear blancos (de hecho sirve para ser conscientes de las diferencias de temperaturas de color), gestión de color y mapeo de tonos/recuperación de altas luces. Se me ocurre que puede ser útil tener algo así en fotografía de estudio donde se hacen series largas para elegir qué balance de blancos equilibra mejor la serie, además por supuesto para descartar y elegir fotos como se ha hecho toda la vida con las hojas de contacto.

Con un diezmado mayor entrarían más imágenes obviamente. Con un diezmado x8 por ejemplo tendríamos 64 fotos en un único RAW.

Os podéis bajar el RAW de: http://guillermoluijk.com/datosimagenso ... tsheet.dng

El diezmado es bastante propenso a generar aliasing porque en realidad estamos submuestreando sin aplicar un filtro AA adicional. Es divertido ir balanceando blancos con la pipeta en las distintas escenas, y ver cómo afecta eso al resto.

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Sustracción de Darkframe

Notapor Guillermo Luijk » Jue Jun 24, 2021 9:15 pm

Ejercicio clásico de mejora del ruido de un archivo RAW, restándole en el dominio RAW los valores de un darkframe (captura obtenida con el objetivo tapado). Para fabricar el darkframe en lugar de una sola captura he hecho la mediana de 10 capturas con el objetivo tapado. Obtenida la mediana de todos los darkframe, he anulado en el resultado las cercanías a 0 por considerarlas ruido electrónico normal, dejando solo los valores bastante desviados de dicha mediana como valores a corregir. Esto me lo he inventado sobre la marcha, ni idea de si habría funcionado mejor la media y/o el no anular los valores cercanos a 0.

La mediana creo que debe tener como ventaja sobre un promediado en esta aplicación que exige que un píxel esté "loco" en todas las capturas (en realidad basta con que se vuelva "loco" en la mitad o más de ellas) para darlo finalmente como "loco". Así los píxeles que solo se vuelven "locos" a ratos, no quedan clasificados como "locos".

La escena, capturada a ISO12800 con tiempo de exposición de 30s, para dar tiempo a calentar al sensor:
Imagen

Comparaciones al 200% entre el RAW original y el RAW al que se le ha restado el darkframe (revelado con DCRAW para que el revelador no aplique ninguna sustracción de hot pixels, como suelen hacer los reveladores comerciales):
Imagen

El resultado es muy bueno. Al trabajar en el dominio RAW, cuando un hot pixel es neutralizado correctamente evitamos su efecto final que generalmente se extiende a bloques de 3x3 píxeles por el algoritmo de demosaicing. Y esto es sin aplicar ninguna inteligencia de detección de hot pixels como hacen los reveladores RAW, solo estamos restando el darkframe.

Para este tipo de operaciones tienen ventaja las cámaras que guardan los archivos RAW sin sustraer el nivel de negro. Las Nikon por ejemplo sí lo sustraen, así que es más complicado obtener un darkframe robusto a partir de varias tomas ya que el ruido electrónico base no tiene media nula. En Canon y Olympus este ruido sí tiene media nula lo que facilita obtener un mejor resultado. Si alguien por aquí hace astrofotografía seguramente sabe mucho de estos temas.

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Sustracción de Darkframe - artículo

Notapor Guillermo Luijk » Dom Jun 27, 2021 5:54 pm

Artículo para leer con más calma sobre la sustracción del darkframe:

Reducción de ruido por sustracción de darkframe en RAW

Hot pixels:
Imagen

Darkframe:
Imagen

Mejora por sustracción de darkframe:
Imagen

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Larga exposición: RAW sintético con función max()

Notapor Guillermo Luijk » Vie Ene 14, 2022 9:28 pm

Otro de los ejercicios que quería hacer: crear un RAW sintético de larga duración con la función max() a partir de una serie de fotos. Es decir, en lugar de promediar las tomas que es lo que hace la multiexposición en las cámaras que la permiten, se toma en cada fotocaptor el valor máximo que se registrase en los archivos RAW origen. Eso significa que si en la escena hubo iluminaciones variables, se tomará la mayor de todas ellas en cada píxel. Es el equivalente al Live Composite de Olympus o a apilar manualmente las imágenes en Photoshop en modo Aclarar, pero aquí creando un único RAW de salida.

De ese modo los trazos de los coches aparecen en el RAW final con la misma intensidad que en cada uno de los RAW origen de los que provenían, no difuminados como ocurriría en un promedio:

Imagen
(Curiosidad: vía de servicio perfectamente iluminada, autovía M11 de 4 carriles a oscuras)


El viñeteo es una obstrucción causada por el anillo adaptador al diámetro del filtro ND variable usado (-4EV). Las tomas se hicieron a f/11 siendo de 12" cada una.

El RAW sintético se puede bajar de aquí.

Es curioso ver que cada vez más hay vehículos con iluminación LED pulsante que produce trazos afeando un poco este tipo de tomas, tanto en las luces delanteras como traseras. Llaman la atención las luces de la policía:

Imagen

Frenados y cambios de carril con intermitentes:
Imagen

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Re: Generando un RAW en formato DNG a partir de un TIFF

Notapor JMLA » Sab Ene 15, 2022 1:59 am

Buena imagen, especialmente el último recorte (quizá deberías haber usado un duplicador :P).
Broma aparte, creo que en el detalle que muestras con el recorte último es donde el esfuerzo resulta, consiguiendo además una imagen rica visualmente al menos para el lado pictórico de mis gustos. Lástima que falte la resolución de un tele. Me gustará seguir viendo los resultados que consigas usando esa técnica.
Avatar de Usuario
JMLA
 
Mensajes: 1510
Registrado: Mié Ago 02, 2017 10:15 am

Re: Generando un RAW en formato DNG a partir de un TIFF

Notapor JMLA » Sab Ene 15, 2022 12:16 pm

Ayer miré esto un poco deprisa y dado que nunca he tenido Olympus —ni por tanto live-composite, di por hecho que ese modo entrega un jpg mientras que tu experimento entrega un raw. Ahora he pinchado en el enlace de laucsap y leo que el live-composite también entrega un único raw, entonces no sé en qué es diferente esta propuesta, o qué es lo que me he perdido.
Avatar de Usuario
JMLA
 
Mensajes: 1510
Registrado: Mié Ago 02, 2017 10:15 am

Re: Generando un RAW en formato DNG a partir de un TIFF

Notapor Guillermo Luijk » Sab Ene 15, 2022 12:59 pm

JMLA escribió:no sé en qué es diferente esta propuesta, o qué es lo que me he perdido.

Creo que no se diferencia en nada, debería ser exactamente lo mismo. Los apilados en RAW son cosas que todas las cámaras deberían implementar porque el coste es bajísimo y el ahorro de follones para el usuario enorme (no es igual llevarte a casa 20 archivos para procesarlos que uno donde ya está toda la información), pero los fabricantes se empeñan en no hacerlo. He leído a gente yéndose de Olympus en busca del sensor grande y echando de menos estas cosas, así que aunque no sean para usarlas todos los días ayudan.

Con esta serie de ejercicios he querido poner en práctica la creación de RAWs sintéticos con todos esos apilados, corroborar lo sencillos que son de implementar y ver cómo responden a posibles problemas de alineamientos, sujetos móviles,...

Imagen

Varios de ellos hay alguna cámara que los hace: las Oly calculan el Máximo (Live Composite) y la Media (filtro ND), las Sigma fpL también calculan la Media (ISO6-ISO50), ninguna hace Mediana ni RAWs HDR que yo sepa. Todas las cámaras podrían hacer todas esas cosas sin demasiada complejidad, pero... Mientras los móviles adelantando por la derecha.

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9634
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Re: Generando un RAW en formato DNG a partir de un TIFF

Notapor JMLA » Dom Ene 16, 2022 10:07 pm

Gracias Guillermo, entendido, efectivamente tienes toda la razón en lo que dices, y me temo que es una batalla perdida.
Avatar de Usuario
JMLA
 
Mensajes: 1510
Registrado: Mié Ago 02, 2017 10:15 am


Volver a PhotoLab



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 14 invitados