Posts Tagged Fotografía
Fotografía digital en Linux, 7
Publicado por elpinguinotolkiano en Fotografía, Software el 8 diciembre, 2011
Séptima entrega del «curso» de fotografía digital en Linux.
Aquí se da una revisión rápida de los programas disponibles en Linux para procesar archivos RAW.
Ver el índice del curso
Procesado de archivos raw en Linux
Y aquí entramos precisamente en el núcleo del problema: dada la selva de formatos raw que ofrece el mercado y sin que alguien se moleste en dar información a los linuxeros ¿qué puede hacerse?
Mucho, como siempre: hace más de una década, un buen señor llamado Dave Coffin comenzó a hacer «ingeniería inversa» sobre los formatos de archivos raw y nos dio el primer programa libre capaz de procesarlos. Hoy por hoy, puede decirse que los archivos raw generados por casi todas las marcas y modelos de cámaras digitales pueden ser leídos y procesados en Linux. Veamos qué tenemos a disposición para trabajar.
Dcraw (Digital Camera RAW)
Dcraw (que éste es el programa hecho por Dave Coffin) no solo es el inicio de todo, el primer programa que desde la línea de comando fue capaz de comprender lo que los archivos raw tenían para decir (y a partir de allí construir una imagen que tuviera sentido): también es la base de casi todos los programas que le siguieron. Usarlo directamente es sumamente complejo y a decir verdad carece de sentido, pero sin este programa la mayor parte de los otros que nombraré a continuación no existirían. Debemos darle los mayores respetos a dcraw ya que es el «dios» silencioso que se oculta detrás de todos los milagros de la fotografía digital en Linux.
¡A no olvidarlo!
ShowFoto / Digikam
Digikam es un completísimo (demasiado, quizás) programa de la familia KDE SC para administrar nuestras fotografías. Hace de todo, desde importar las imágenes desde la cámara y generar álbumes hasta editar la fotografía en todos sus aspectos.
Pero si el lector es de mi «clase» y opina que toda esta cuestión de gestión de álbumes es una pérdida de tiempo, puede usar una «versión reducida» de Digikam llamada ShowFoto. En sus orígenes este programa solo mostraba imágenes, pero ahora comparte todas las herramientas de edición de digikam… lo cual es un gran conjunto de herramientas, entre las cuales se incluye un poderoso sistema de gestión de color a través de perfiles basado en Little CMS.
El programa es capaz de abrir archivos raw y procesarlos en las más variadas formas. Ofrece un enorme número de posibilidades de edición, comenzando con el balance de blancos y el control de exposición, las opciones de demosaicing… siguiendo con eliminar ruido de las imágenes y un enorme etcétera, siempre con un ingenioso sistema de «antes/después» en el cual se muestra la imagen sin procesar cuando ponemos el cursor sobre ella y la otra modificada cuando nos movemos fuera de la misma.
Si poseen una conexión permanente a Internet, ¡la interfaz les ofrece un link directo a Wikipedia con las definiciones de cada una de las cosas que están modificando!
El programa ofrece entre otras cosas la posibilidad de corregir la distorsión introducida por lentes gran angular, la corrección de la perspectiva, rotación de imágenes y el uso de «efectos especiales», como distorsiones, filtros, proyecciones… muchas cosas.
Hasta donde sé, es el único programa no comercial que ofrece tanto. De hecho, ofrece más que muchos programas comerciales que he conocido.
Y por si fuera poco, ¡funciona!
Eso sí, en su configuración por defecto importa los archivos RAW en forma automática, sin preguntar nada al usuario, y trabaja en 8 bits por canal. Es importante para el lector que quiere trabajar con digikam teniendo total control de su imagen el realizar los dos pasos siguientes:
- dirigirse a Herramientas → Configurar → y bajo «Editor de imágenes» seleccionar «Usar la herramienta de importación en bruto para manejar imágenes en bruto (RAW)»
- en ese mismo menú, bajo «Decodificación en bruto», en el apartado «Interpolación de la matriz» seleccionar «Profundidad de color de 16 bits».
De todos los programas que nombraré aquí, este es ciertamente el más completo y potente… lo cual, como siempre que se tiene una herramienta poderosa implica el tener que aprender a utilizarla…
Como se suele decir: si algo no funciona, lea el manual; si después de eso sigue sin funcionar, ¡lea bien el maldito manual!
Una pequeña idiosincrasia del programa: Cuando importan una imagen RAW (esto no es así con archivos jpeg, solo con los RAW), luego de seleccionar todas las variaciones del decodificado tienen que presionar «Importar» o de lo contrario la imagen no resultará realmente cargada en el programa y no será posible ni siquiera leer su información exif…
Lo sé, no es muy «intuitivo», pero una vez que se conoce esta pequeña «manía» no resulta problemático…
Un pequeño secreto de showfoto
Una vez importada la imagen si seleccionamos el botón «Metadatos» a la derecha de la ventana y allí la pestaña «Notas del fabricante» → botón «Lista completa» nos encontraremos con una enorme cantidad de información no solo sobre la fotografía, sino también sobre la cámara. Entre toda esa larga lista de datos, podremos ver una entrada llamada «Shutter Count» que no es otra cosa que el número de veces que la cámara fue disparada hasta esa foto.
Conocer el número de veces que la cámara fue utilizada es importante ya que esto nos dará una idea de la vida útil que le queda a la misma: en el siguiente enlace es posible ver una base de datos de muchas cámaras donde los usuarios indican luego de cuántos disparos la cámara ha dejado de funcionar…
http://www.olegkikin.com/shutterlife/
UFRaw (Unidentified Flying Raw)
Uno de los primeros programas en basarse en dcraw… si no el primero. Muy sencillo de utilizar pero a la vez muy potente, ofrece innumerables herramientas para editar la imagen: desde el balance de blancos y los colores hasta la saturación, la corrección del ruido, el recortar la imagen, rotarla… y un más que interesante etcétera.
De todos los programas que comento aquí UFRaw es quizás el más simple de aprender a utilizar: todo está al alcance de la mano y es sumamente sencillo descubrir qué hace cada cosa, por lo que solo es cuestión de abrir nuestro archivo RAW con él, jugar un poco y seguramente obtendremos un gran resultado.
De la página de este proyecto es posible rescatar los perfiles de color de varias cámaras (en la sección «Color Management») de aplicar en el correspondiente menú, lo cual suele dar mejores resultados en la conversión del archivo RAW: cada cámara tiene su respuesta a los colores por lo que nada mejor que utilizar los perfiles ICC dados por el fabricante…
La única contra que veo en este magnífico programa es que se cierra siempre que se exporta una imagen, por lo que se vuelve incómodo trabajar si lo que queremos es crear varias imágenes con distintas correcciones desde el mismo original, o trabajar con varias imágenes distintas utilizando los mismos parámetros: si bien ofrece procesamiento por lotes desde la línea de comandos, su interfaz es «una fotografía a la vez».
Rawstudio
Llevo un tiempo de no probar este programa por lo que no puedo dar una opinión precisa sobre el mismo. En versiones anteriores se tenía algo similar a Ufraw (también está programado en GTK) pero con la ventaja de poder trabajar en varias imágenes sin que se cerrara el programa… aunque con la gran desventaja de una interfaz no tan cuidada.
El lector tendrá que hacerse su propia idea al respecto… si bien las capturas de pantalla que se encuentran en el sitio no dan muchas esperanzas.
RawTherapee
Otro programa interesante para el procesado de imágenes raw. Su historia es un tanto curiosa ya que por años fue un programa de libre distribución… pero no libre: el programador no se decidía sobre qué tipo de licencia utilizar, por lo que solamente ofrecía un binario.
Esto cambió en febrero del 2010 cuando Gabor Horvath finalmente hizo de RawTherapee un programa de código abierto. Desde entonces una comunidad sumamente activa ha crecido en torno al código liberado y las últimas versiones del programa ofrecen una lista cada vez más impresionante de novedades.
Mucho más «prolijo» que los dos programas anteriores, es ciertamente algo a tener en cuenta no solo para el aficionado, sino también para el profesional de la fotografía digital.
Darktable
Otro programa sumamente completo para el procesado (y post procesado) de archivos RAW.
No termino de encontrar mi camino en su interfaz gráfica, pero eso puede ser algo relacionado más con mi mente extraña que con el programa, por lo que dejaré que el lector haga su propia experiencia.
Conclusión
Espero haber podido transmitir un panorama de qué puede hacer un fotógrafo digital en Linux. No he entrado en detalles sobre cada programa deliberadamente, un poco por espacio pero principalmente para dejar que cada fotógrafo construya su propio camino: las herramientas para trabajar existen y son de calidad, solo hace falta la pasión de cada uno de ustedes para seguir adelante.
Solo me queda desearles buena suerte, ya que como todo fotógrafo sabe la Suerte (el estar «allí» en el momento «justo») es más de la mitad de una buena fotografía.
En la próxima entrega (la última por el momento), mostraré un ejemplo de procesamiento de archivo desde el RAW hasta el jpg utilizando UFRaw.
Ver el índice del curso
Fotografía digital en Linux, 6
Publicado por elpinguinotolkiano en Fotografía, Software el 6 diciembre, 2011
Sexta entrega del «curso» de fotografía digital en Linux.
Última entrega de las «bases teóricas». Los dos próximos artículos hablarán sobre Linux… ¡es una promesa!
Ver el índice del curso
¿8 o 16 bits?
To 8 bits or to 16 bits? Ah!, there’s the rub! For on those bits of depth, which details may come?
Bien, basta de bromas literarias. La pregunta es válida: dado que monitores e impresoras trabajan a 8 bits por canal, ¿es realmente necesario trabajar a 16 bits?
En Internet encontrarán acaloradas discusiones donde gente sostiene vehementemente ambas posiciones… pero como siempre, la respuesta correcta es: depende.
Si la iluminación de nuestra imagen es uniforme, el contraste no es un problema y solo nos interesará el color: bajo estas circunstancias 8 bits podrían ser más que suficientes.
Pero si nuestra imagen tiene grandes contrastes podríamos querer procesarla para «amplificar» las partes oscuras ganando detalles: en estas circunstancias trabajar con 16 bits podría ser la única solución.
Ya hablaremos más sobre cómo «amplificar» selectivamente el señal de una imagen cuando hagamos un ejemplo práctico de procesado de imagen desde el archivo RAW hasta el final, pero podemos anticipar aquí el siguiente detalle: es posible aplicar un factor de amplificación que dependa de la intensidad del punto que estamos amplificando.
Para simplificar al máximo posible el razonamiento supongamos que tenemos una imagen no con 212 niveles, sino con 23 = 8 niveles las cuales debemos pasar o a 22 = 4 o a 24 = 16 para procesar, yendo a 22 = 4 al final del proceso. Consideremos también dos regiones adyacentes de la imagen de igual color y con un valor bajo, pero diferente, de intensidad: ambas regiones están representadas por las dos columnas marcadas con «Original» en el siguiente dibujo (clic para agrandar):
Como puede verse de la imagen, si pasamos del Original a la conversión de 4 niveles ambas regiones son «redondeadas» a la misma intensidad, por lo que no podremos distinguir entre ellas aún si las amplificamos. En cambio, si primero pasamos a 16 niveles, luego amplificamos y solo finalmente vamos a los 4 niveles, las regiones serán claramente distinguibles.
Es decir, trabajar con un mayor número de niveles durante la edición nos permitirá «recuperar» detalles que de otra forma se perderían.
Claro está que en ocasiones perder detalles puede ser correcto, como por ejemplo en un retrato donde es importante hacer que quien ve la fotografía no se distraiga con el fondo… pero en otras aplicaciones podría dar más valor a nuestras fotografías. ¿Cuándo? Pues dejo esta respuesta a la creatividad de cada artista…
Esta es la última entrega de la parte «teórica». En los dos artículos que seguirán se dará una breve revisión de qué puede hacerse con todo esto en Linux.
Ver el índice del curso
Fotografía digital en Linux, 5
Publicado por elpinguinotolkiano en Fotografía, Software el 27 noviembre, 2011
Quinta entrega del «curso» de fotografía digital en Linux.
Seguimos aún con las «bases teóricas».
Ver el índice del curso
Sobre imágenes ruidosas y otras yerbas.
Ya mencioné en una entrega anterior que una imagen amplificada puede ser «ruidosa». Este «ruido de imagen» se ve como píxeles coloreados de distinta intensidad distribuidos aleatoriamente en la superficie de la imagen, especialmente en las zonas oscuras. Los casos en los que este «ruido» aparece son dos: el primero al usar valores iso grandes, el segundo al realizar exposiciones prolongadas.
El origen de esto es lo que se conoce como «ruido térmico», el cual es inherente a la electrónica utilizada y no está presente en la fotografía tradicional. Todo nace en el calentamiento del sensor, calentamiento que es capaz de mover los electrones en su interior dando una señal donde no debiera existir. Este calentamiento está siempre presente (de hecho, las cámaras digitales usadas en astronomía tienen un sistema de refrigeración incorporado) y también produce el ruido que aparece al amplificar la señal.
No existe solución para esto por lo que, además de evitar al máximo posible el utilizar isos altos y / o exposiciones prolongadas, lo único que nos queda es procesar la imagen en el computador con algún algoritmo de «reducción de ruido», el cual consistirá básicamente en tomar un «valor medio» de pixeles cercanos para así atenuar las desviaciones del valor «real».
Debe tenerse en cuenta que esta reducción de ruido también produce inevitablemente una «reducción de detalle», por lo que es mejor no exagerar. Ya volveremos sobre esto más adelante.
Otra cosa a tener en cuenta es que una imagen ruidosa generará un archivo más grande que una sin ruido, ya que estos pixeles coloreados contarán como «detalles».
Cámaras, monitores e impresoras
¿Quién ha dicho que el rojo que se ve en el monitor es el rojo que capturó la cámara? ¿Y de dónde sale la presunción de que el rojo del monitor será el mismo rojo que nos dará la impresora?
La calibración de color es algo que suele ser olvidado… especialmente en Linux, donde solo recientemente han comenzado a surgir soluciones al respecto. Existen innumerables páginas de Internet explicando este problema, por lo que no voy a repetir lo dicho allí (al menos no por el momento… quizás en un artículo posterior
), simplemente comentar que los monitores de computador (especialmente los viejos CRT) vienen pésimamente calibrados y que se debe trabajar bastante para hacer que muestren los colores correctos. Los monitores LCD, y en especial los de las portátiles, tienen además el problema de que los colores dependen del ángulo desde el cual los vemos por lo que el tema del color es algo a tener presente, especialmente si hacemos mucho trabajo de edición en nuestras imágenes: si no calibramos todo correctamente, lo que salga finalmente impreso nos dará una extraña sorpresa…
Y la impresión… Monitor y cámara usan el mismo espacio de color RGB por lo que es relativamente fácil que se «comprendan» mutuamente, pero las impresoras usan un espacio diferente, el CMYK, es decir, cian, magenta, amarillo y negro, por lo que la información del espacio de color RGB debe ser «traducida» al CMYK antes de imprimir. En la mayor parte de los casos esto no significará un gran problema, pero si somos muy detallistas con el color al final nos daremos cuenta que aquello que habíamos dejado de una forma al editar la imagen no necesariamente será así al imprimirla.
Diferencia entre las compactas y las reflex digitales
Más allá de la obvia diferencia de calidad (no por nada los precios son tan distintos…), existen cuestiones prácticas a tener en cuenta. La primera es el tamaño del sensor. Generalmente el sensor de las compactas digitales es entre un cuarto y un quinto del tamaño del sensor de las reflex (ni hablar de lo que viene en los teléfonos celulares…). Siendo así de pequeños, los ángulos en los que la luz llega al sensor serán siempre menores: ángulos más estrechos implican profundidades de campo mayores, lo cual, y esto es buscado, asegura que casi todo lo que se encuentra delante de la cámara esté en foco permitiendo un gran ahorro en las ópticas utilizadas… al costo de limitar enormemente las posibilidades creativas del fotógrafo.
En los sensores pequeños los problemas de ruido son aún mayores y no solo porque en una superficie más pequeña es más difícil dispersar calor: las compactas digitales carecen de un obturador mecánico y al estar continuamente encendidas en modo «live» el sensor estará evidentemente a mayor temperatura, dando por lo tanto una calidad de imagen inferior.
A todo esto se suman las ópticas de menor diámetro de las compactas: una fotografía es un registro de luz, y si nuestras lentes no dejan pasar suficiente luz pues nada quedará registrado… a menos que amplifiquemos la señal, aumentando también el ruido.
Finalmente, existe una limitación física que resulta ser de gran impacto: con detectores tan pequeños y tan próximos entre sí pueden darse fenómenos de transferencia de carga entre un detector y aquellos vecinos. Efectivamente: la luz llega en un punto y es registrada en otro… o mejor dicho en varios, dando lugar a manchas e imágenes borroneadas.
Y la situación está empeorando con los nuevos modelos de compactas… he tenido la oportunidad de comparar las imágenes generadas por dos compactas, una de 7 megapixeles y la otra de 10 megapixeles (no puedo compartir las fotografías ya que no me pertenecen) y puedo asegurar que la compacta de 10 megapixeles da imágenes de peor calidad que la otra.
No en vano las principales marcas (Nikon, Canon, Pentax…) están utilizando sensores más grandes para sus cámaras profesionales y semi profesionales, volviendo todas ellas a los míticos 36 milímetros.
Y además, las compactas no permiten salvar la imagen como raw, lo cual limita las posibilidades de edición.
Ver el índice del curso
Fotografía digital en Linux, 4
Publicado por elpinguinotolkiano en Fotografía, Software el 22 noviembre, 2011
Cuarta entrega del «curso» de fotografía digital en Linux.
Seguimos aún con las «bases teóricas».
Ver el índice del curso
¿Qué tan blanco es el blanco?
Nuestro cerebro, tratando de ayudarnos, a veces nos juega bromas pesadas… y uno de los casos en el cual esto sucede más a menudo es con la iluminación.
El color que vemos de las cosas no es más que la luz que estas reflejan y que llega a nuestros ojos, por lo tanto el color real de los objetos depende de cómo los iluminamos: no es lo mismo la luz del sol que la de una lámpara incandescente o la de un tubo fluorescente… aunque nuestro cerebro nos haga creer que sí. La información que llega a nuestros ojos es procesada en modo tal que algo que sabemos es blanco nos siga pareciendo blanco, aún si lo iluminamos con la luz amarilla de una vela. La fotografía tradicional no podía hacer estas correcciones (al menos, no en modo simple), por lo que fotografías obtenidas sin flash en ambientes con iluminación artificial nos daban siempre extrañas sorpresas; pero ahora, con la fotografía digital esta corrección no solo es posible sino también simple: es suficiente «multiplicar» cada canal de color por un coeficiente apropiado, dándole más peso al color menos presente para así balancear las deficiencias y los excesos de cada uno de los tres colores primarios.
Todas las cámaras tienen incorporado algún sistema de «corrección del blanco», por lo que los archivos jpg generados por estas suelen estar corregidos… el problema es que estos algoritmos automáticos no siempre aciertan en lo que están haciendo. Realizar la corrección «a mano» en la computadora, sobre todo si partimos del archivo raw original, nos dará todas las libertades de corregir los colores como queramos, simplemente dándoles más o menos peso a cada uno de los componentes RGB de nuestra fotografía. Ya volveremos más adelante sobre cómo realizar esta corrección.
¿Qué tan «cálido» es un color?
Aquí hablaré un poco sobre las cuestiones «físicas» relacionadas con el color de los objetos y cómo se los ve al fotografiarlos.
Como ya he dicho, el color de los objetos se debe a la propiedad de la luz que estos objetos reflejan y la luz que pueden reflejar está claramente influenciada por la luz que efectivamente les llega: si ilumino un objeto utilizando solamente luz roja evidentemente no podré obtener un reflejo azul…
El problema surge porque nuestro cerebro hará todo lo posible para «construir» un reflejo azul cuando lo crea necesario. Es decir, nuestro cerebro «modificará» la información percibida por nuestros ojos en modo tal de llevar la escena a cómo se vería bajo condiciones de iluminación «normal». A este proceso se lo suele llamar «equilibrio de blancos», ya que lo que se hace es tratar de que algo que sabemos blanco se vea blanco, independientemente del color de la luz con la que es iluminado.
Es claro que un objeto que a la luz del día se ve de un color gris neutro (y que por lo tanto refleja iguales cantidades de rojo, verde y azul), bajo la rojiza luz de una lámpara de tungsteno deberá verse de un color rojizo, o bajo la azulada luz de un tubo fluorescente deberá verse azulado. Si nuestro cerebro insiste en decir que el objeto es blanco (unos dientes amarillentos no se ven saludables, mientras que unos azules… bien, no parecerían humanos) es porque de alguna manera se las ingenia para «agregar» los colores que faltan en la fuente luminosa… aunque sería más preciso decir que «desequilibra» los colores existentes para obtener lo que cree correcto.
Dado que la cámara intenta recrear lo que sucede en nuestro mecanismo de visión, también en nuestras fotografías digitales tendremos que «equilibrar los blancos».
Ahora bien, si para «corregir» una iluminación rojiza nuestro cerebro «agrega azul» (para «construir» una iluminación natural), eso quiere decir que un objeto que se ve de un color gris neutro bajo una iluminación rojiza bajo iluminación normal deberá verse azulado. De igual modo un objeto que se ve gris bajo una luz azulada deberá verse rojizo bajo iluminación normal.
Y por supuesto, nuestra «corrección» deberá dar los mismos resultados.
Es importante tener presente lo dicho en los párrafos precedentes, ya que el concepto que expondremos a continuación suele generar mucha confusión.
La temperatura de color, mejor conocida por sus siglas en ingles CCT (correlated color temperature) es una medida física utilizada para caracterizar una fuente luminosa. Básicamente, esta cantidad da la temperatura (medida en grados Kelvin) a la cual un objeto conocido como «cuerpo negro» debe ser calentado para que emita luz del mismo color de la fuente luminosa que estamos analizando.
Las temperaturas a las que se debe calentar un objeto para que emita luz son elevadas: un objeto que emita un color rojo como el del atardecer puede encontrarse a una temperatura entre 3000 K y 4000 K, un objeto que emita luz blanca puede encontrarse entre los 4500 K y los 5500 K, mientras que para emitir en un color azul como aquel de un cielo limpio, pueden necesitarse más de 10000 K…
Como podrán ver, cuanto más «azul» es la luz emitida más «caliente» se encuentra el objeto que la emite.
Una nota importante antes de continuar: evidentemente el cielo no se encuentra a una temperatura de 10000 K ya que el cielo no es un emisor de luz, solo nos da luz dispersa de otras fuentes. Por otra parte, la superficie del Sol sí se encuentra a una temperatura de 5800 K ya que el Sol sí es un emisor y por lo tanto la temperatura asociada a su color coincide con su temperatura verdadera.
No entraré aquí en consideraciones sobre el porqué culturalmente el rojo es considerado más «caliente» que el azul: en la historia de la fotografía ya se han dicho muchas tonterías al respecto como para agregar yo otra más…
Consideremos el siguiente ejemplo:
Esta fotografía está realizada con flash en un ambiente iluminado por la lámpara que se encuentra debajo de la pantalla. Dado que el flash se encuentra algunos centímetros por sobre la cámara, la propia pantalla «hace sombra» al flash, por lo que se tiene una zona en la que se ve solamente la luz de la propia lámpara. En la mitad izquierda, la corrección del blanco está realizada para que la pantalla y la pared se vean blancas (lo cual es correcto: acabábamos de pintar…) utilizando una CCT de 5500 K, temperatura que corresponde a la CCT del flash, mientras que en la mitad derecha la corrección está hecha para que el punto indicado con rojo, el cual está iluminado solamente por la lámpara, se vea blanco (mejor dicho, gris), utilizando una CCT de 2300 K, temperatura que corresponde a la luz de la lámpara.
Si no se hubiera utilizado el flash, la única iluminación hubiera sido la de la lámpara y por lo tanto la corrección de la derecha hubiera sido «correcta», pero como pueden ver si la imagen incluye objetos blancos iluminados con otra fuente el resultado puede ser extraño, ya que al corregir el punto marcado con rojo hemos «descorregido» el resto, haciéndolo ir hacia el azul.
Debo insistir en este concepto: una imagen con iluminación «físicamente fría» (una lámpara con bajo CCT), solo al ser corregida nos dará una imagen azulada.
Ver el índice del curso
Fotografía digital en Linux, 3
Publicado por elpinguinotolkiano en Fotografía, Software el 15 noviembre, 2011
Tercer entrega del «curso» de fotografía digital en Linux.
Seguimos aún con las «bases teóricas».
Ver el índice del curso
Formatos de archivo
El archivo raw, si bien contiene toda la información de color dada por el convertidor analógico digital no puede ser directamente visto como una normal imagen RGB dado que lo que se encuentra en el archivo es una especie de «mosaico» que no es simple de interpretar. Tanto la electrónica de las cámaras como los programas específicos para tratar las imágenes tienen que primero «interpolar» (encontrarán el término inglés Demosaicing para indicar este proceso) la información del archivo raw. Existen diferentes algoritmos matemáticos para eso, pero básicamente se trata de interpolar los elementos del mismo color para construir tres imágenes monocromáticas, las cuales vienen superpuestas para formar la imagen final.
Una forma simple de realizar esta interpolación (existen otras más complejas y que dan mejores resultados) es esquematizada en la siguiente figura.
Supongamos que queremos construir el píxel que corresponde al detector verde marcado con V en la figura (les dejo la construcción de A y R como «ejercicio»…). La cantidad de verde viene directamente medida del detector V pero ¿de dónde sacamos la información del rojo y del azul? Pues el rojo sale de una «interpolación» o «valor medio» de lo que nos dan los detectores r1V y r2V, mientras que el azul sale de hacer lo mismo con a1V y a2V. Es decir, en cada píxel solo uno de los canales de color contiene información medida «directamente», mientras que los otros dos canales están formados indirectamente con la información que dan los detectores cercanos.
Esta imagen construida puede luego ser salvada en diversos formatos, el más universalmente aceptado de los cuales sea quizás el peor de todos: me refiero al ubicuo jpg.
Un archivo jpg es un archivo comprimido «con pérdida de información». Esto quiere decir que la imagen jpg tiene menos información que el archivo raw original. Esta pérdida de información se produce en dos niveles: el primero es la disminución de los niveles de contraste a 8 bits, mientras que el segundo es lisa y llanamente la pérdida deliberada de detalles para reducir el tamaño del archivo. Esta pérdida de detalles es aún peor si queremos editar la imagen: al salvarla nuevamente perderemos aún más calidad.
Alternativo al jpg es el formato tiff. Es éste un formato comprimido sin pérdida de información que permite salvar archivos de hasta 32 bits por canal de color: en él sucede algo semejante a los archivos zip o tgz para la compresión de datos. El problema es que la construcción de un archivo tiff es compleja y no puede realizarse «decentemente» en la cámara, pero sí en una computadora.
Hay que tener en cuenta los tamaños de estos archivos: para una cámara de 10 megapixeles el archivo raw ocupa aproximadamente 10 MiB, el jpg (dependiendo de la calidad) entre 2 y 4 MiB y el tiff a 16 bits… ¡entre 50 y 60 MiB!
Todo dependerá de qué se quiera hacer luego con la imagen, sobre todo qué calidad necesitamos realmente, pero como regla general puede decirse que lo mejor es guardar los archivos raw originales para luego procesarlos en el computador, que si se debe editar la imagen lo mejor es generar un tiff para todos los pasos intermedios de edición y que solo al final se use un jpg.
Un último comentario sobre los archivos raw. Hemos hablado hasta aquí como si «raw» fuera un único tipo de archivo, pero a decir verdad son muchos… en realidad demasiados: cada compañía tiene el suyo y de hecho muchas veces el raw de dos modelos diferentes de la misma compañía tienen estructuras completamente distintas… y claro está, nadie dice cómo es esa estructura.
Actualmente existen intentos de estandarizar los formatos raw existentes, pero difícilmente esto suceda en un tiempo breve. Ya volveremos a esto más adelante.
Ver el índice del curso
Fotografía digital en Linux, 2
Publicado por elpinguinotolkiano en Fotografía, Software el 8 noviembre, 2011
Segunda entrega del «curso» de fotografía digital en Linux.
Seguimos aún con las «bases teóricas».
Ver el índice del curso
Del sensor al archivo
La señal que sale de cada detector no es aún digital, es analógica: simplemente una tensión proporcional a la cantidad de luz que ha llegado. Esta señal puede ser amplificada dependiendo del valor iso seleccionado (la señal a iso 100 no está amplificada) y recién entonces entra en lo que se llama «convertidor analógico-digital». Lo que hace este convertidor es tomar la distancia entre «señal cero» y «señal máxima» y dividirla en un cierto número de niveles. Generalmente, estos convertidores devuelven señales de 12 bits, es decir 212 = 4096 niveles: las digitales compactas suelen trabajar a 8 bits, lo cual da 28 = 256 niveles para cada color (cada canal de color), mientras que algunas cámaras profesionales llegan a los 14 bits, que da 16384 niveles. El valor de la señal es entonces «redondeado» (digitalizado) al valor más cercano de esos niveles y se le asigna el número de nivel. Es ese dato y no el valor de la señal en sí, lo que viene guardado.
Lo que sucede luego depende del tipo de cámara utilizado y de su configuración. Las cámaras compactas procesan la información dada por el convertidor y devuelven una imagen jpg a 8 bits por canal (es decir, 256 niveles de rojo, 256 de verde y 256 de azul), mientras que las reflex digitales permitirán además salvar un «archivo raw» que no es otra cosa que la salida cruda (raw, en inglés, significa crudo) del convertidor, para poder luego procesarlo en la computadora manteniendo toda la «gama dinámica» original (es decir, todos los niveles).
Bits de color y bits de contraste
Es posible que encuentren por allí textos que dicen que el jpg es un formato a 24 bits… Bien, les develaré el misterio: ese 24 significa en realidad 3 por 8…
Exactamente: 24 bits son en realidad 8 bits por canal de color.
Lo mismo sucede con los monitores de las computadoras y las impresoras: «color real, 24 bits», quiere decir «color aceptablemente realista, 8 bits por canal».
8 bits de rojo + 8 bits de verde + 8 bits de azul = 24 bits de color
lo cual significa tener 16777216 colores (224), el punto es que
8 bits de rojo + 8 bits de verde + 8 bits de azul siguen siendo 8 bits de contraste.
En una imagen de 8 bits por canal de color como puede ser un jpeg podemos conseguir un gran número de colores, pero la «distancia» entre oscuridad absoluta y luz máxima sigue siendo como máximo de 8 bits, es decir, solamente 256 niveles.
Justamente por esto uno de los grandes problemas de la fotografía digital, especialmente si se trabaja con pocos bits (es decir, en las cámaras compactas) son las imágenes donde se retratan escenas con gran contraste de iluminación, ya que si se tienen luces muy altas las zonas oscuras perderán detalles.
Rango dinámico y profundidad de bits
Muchos fabricantes (todos) de cámaras digitales de alta gama dicen que «el rango dinámico del convertidor analógico digital (ADC) es de 12 bits», como para demostrar la buena cámara que están vendiendo… pero existe un problema: el rango dinámico nada tiene que ver con la cantidad de bits del ADC.
La cantidad de bits del ADC dice cuántos niveles de intensidad existen entre «oscuridad absoluta» y «saturación completa», o mejor dicho entre «señal cero» y «señal máxima», mientras que el rango dinámico es la variación que la cámara puede percibir. El problema, claramente, es que los sensores de las cámaras digitales no están exentos de «ruido» (las variaciones aleatorias en la intensidad registrada que se deben a la temperatura de la CCD/CMOS de la cámara) y por lo tanto la cámara nunca registrará un valor cero, aún cuando no exista luz en ese punto. Es ingenuo pensar que en una cámara no refrigerada este ruido térmico va a tener un nivel lo suficientemente bajo como para afectar solamente el primer bit y por lo tanto el verdadero rango dinámico de las cámaras es menor al anunciado. Cuánto menor es algo difícil de definir, especialmente ante la falta de datos oficiales de los fabricantes…
Ver el índice del curso
Fotografía digital en Linux, 1
Publicado por elpinguinotolkiano en Fotografía, Software el 6 noviembre, 2011
Este es el comienzo de una serie de artículos en los que hablaré sobre fotografía digital en el sistema del pingüino, actualizando y por sobre todo expandiendo un antiguo artículo que escribí hace ya varios años para la difunta revista Begins.
Dado que la revista ya no está disponible en línea, pero por sobre todas las cosas por el avance que se ha dado en el tema, es que me he decidido a reorganizar todo en un nuevo formato.
El camino será largo, mucho más que lo que se encontraba en aquel artículo, aquí tenemos el primer paso.
Ver el índice del curso
Fotografía analógica y fotografía digital.
Si bien la diferencia entre mi ya difunta cámara reflex (más de 15 años de fieles servicios), 100% mecánica y la actual reflex digital de 10 megapixeles son enormes, en el tiempo pasado entre una y otra las transiciones tecnológicas han sido bastante suaves. Rápidas, es verdad, pero continuas. Las reflex analógicas de última generación incluían ya muchos de los «artilugios» electrónicos de las modernas digitales (autofocus de varias regiones, medición de luz por sectores…), si bien en un grado menor debido a las limitaciones del soporte de película.
Los conceptos básicos de la fotografía (profundidad de campo, diafragma, velocidad de obturador…) no han cambiado, por lo que no hablaré de ellos en esta serie de artículos… quizás en otros, pero no ahora. De hecho, la sensibilidad de los sensores digitales está calibrada en «equivalente iso», de modo que el tener la cámara ajustada a iso 100 sea casi lo mismo a tener una película de asa 100 en una máquina más tradicional.
Todas las diferencias entre el analógico y el digital están entonces en el cambio de la película por el sensor de silicio. Veamos más de cerca lo que este cambio ha significado.
La película color tradicional está formada por una «gelatina» en tres capas en las que se encuentran en suspensión distintas sales de plata. Estas sales son sensibles a la luz, por lo que al ser iluminadas cambian depositando plata metálica. Cada una de esas tres capas es sensible a uno de los colores básicos (en realidad, secundarios… pero eso es otra historia) cian, magenta y amarillo. Al grupo de estos tres colores se lo suele denominar «espacio de color CMY» (por «cyan», «magenta» y «yellow») ya que mezclándolos es posible reproducir todos los otros. La película iluminada forma entonces un «negativo» de la imagen original, dado que será más oscura en los lugares donde ha recibido mayor iluminación.
Estas sales de plata están distribuidas en la gelatina con forma de un granulado cuyo tamaño dará la sensibilidad de la película a la luz: seguramente habrán oído hablar de los «fotones», las partículas con las que puede describirse la luz; pues bien, a muy grandes líneas puede decirse que cuando un fotón cae sobre uno de estos granos de sal de plata lo hace transformarse, liberando la plata e «impresionando» ese sector de la película. Por lo tanto, cuanto más grande sean los granos de sal menos fotones necesitaremos para impresionar la misma superficie de película. La diferencia entre un rollo de asa 100 y otro de asa 400 está entonces en el tamaño de los granos de la sal: cuanto más grandes, mayor sensibilidad a la luz… a costa de una menor resolución de imagen. De hecho, en las fotografías obtenidas con películas de 600 o más asas es claramente visible el granulado.
Por otra parte, el sensor de las cámaras digitales es una matriz ordenada de pequeños detectores de luz, cada uno de los cuales contribuye a la formación de un «píxel» de la imagen (es decir, un punto con la información de cuánto verde, rojo y azul se necesita para formarlo… ver más adelante), distribuidos generalmente en forma de cuadrícula ordenada. Dado que los detectores son indiferentes al color, cada uno de ellos está cubierto con un «filtro» que deja pasar solo un color determinado y que además funciona como una «microlente» que concentra la luz sobre el detector en cuestión.
Nomenclatura: para esta serie de artículos (y en forma un tanto arbitraria) hablaremos de «sensor» para referirnos a todo el sistema de detección de luz, mientras que «detector» se usará para cada uno de los elementos del «sensor».
A no tomarse estos nombres muy en serio…
El arreglo de filtros más usado es conocido como «arreglo (o matriz, o filtro) Bayer»: consiste básicamente es un arreglo periódico de cuatro detectores, uno sensible al azul, otro al rojo y dos al verde… esto es debido a que el ojo humano es más sensible a ese color que a los otros por lo que se busca que la cámara también lo sea. Estos tres colores suelen denominarse «espacio de color RGB» (red, green, blue).
En la siguiente imagen se ve un esquema de la matriz Bayer.
Ahora bien, si en la película para aumentar la sensibilidad a la luz se tenía que aumentar el tamaño de los granos de sal, ¿cómo se hace en las cámaras digitales?
Simplemente amplificando la señal que sale de los detectores.
Por lo tanto, y a diferencia de lo que pasaba con la película, una imagen obtenida en una cámara digital a iso 1600 tendrá la misma resolución (el mismo número de puntos) que una obtenida en la misma cámara a iso 100… pero cuidado, el proceso de amplificación de la señal es semejante a lo que sucede en un equipo de música y todos sabemos que si se sube mucho el volumen comienzan a aparecer ruidos…


