Tutorial: Cómo quitar aberración cromática a un vídeo

Frame con aberración cromática, míralo en grande, fíjate en las feas franjas amarillas y azules

Pero primero te preguntarás ¿Qué narices es eso de la aberración cromática? pues es un efecto muy feo que se genera, principalmente, porque eres un racano y no te gastaste más dinero en tu cámara o en el objetivo de tu cámara. La wikipedia puede darte más información, ahí se explica que el objetivo de tu cámara barata está formado por unas sustancias o tiene unas geometrías que hace que haya colores que se vayan de fiesta, y sobre todo se nota en los puntos en los que cambia mucho el contraste.

Luego buscas cómo solucionar esto en tu maravilloso vídeo, pero solo encuentras cosas para solucionarlo en imágenes. Como a mi no me gusta llevar la contraría a nadie que no seas tú, veamos cómo podemos arreglar un vídeo tirando de editores de imagen en unos sencillos pasos:

1. Prepárate para la fiesta

Invita a varios amigos:

  • Un ordenador que no le importe estar mucho tiempo procesando cantidades ingentes de imágenes y que sea amigo del software libre (en mi caso, Debian)
  • Invita a GIMP y a dos de sus amigos del tipo plugins: fix-ca y file-glob, a todos los puedes encontrar en
    [codigo]apt-get install gimp gimp-plugin-registry[/codigo]
  • Invita también a ffmpeg, que además es un chico muy apañado
    apt-get install ffmpeg

2. Haz la lista de actividades de la fiesta

Tu colega GIMP necesita saber algunas cosas antes de la fiesta, para ello creas un archivo nuevo llamado ca-corrector.scm en ~/.gimp-<loquesea>/scripts con el siguiente y maravilloso contenido:

(define (ca-corrector pattern
               blue
			      red
			      interpolation
			      x-blue
			      x-red
			      y-blue
			      y-red)
(let* ((filelist (cadr (file-glob pattern 1))))
    (while (not (null? filelist))
           (let* ((filename (car filelist))
                  (image (car (gimp-file-load RUN-NONINTERACTIVE
                                              filename filename)))
                  (drawable (car (gimp-image-get-active-layer image))))
             (Fix-CA 1
	      image drawable 
			      blue
			      red
			      interpolation
			      x-blue
			      x-red
			      y-blue
			      y-red)
             (gimp-file-save RUN-NONINTERACTIVE
                             image drawable filename filename)
             (gimp-image-delete image))
           (set! filelist (cdr filelist)))))

Y te dirás a ti mismo ¿Qué narices hace esto? Básicamente hemos creado una función en GIMP que, pasandole unos parámetros (el patrón a seguir para leer los archivos y los parámetros del plugin Fix-CA), toma todos los archivos que siguen un patrón y les aplica el corrector de aberración cromática.

3. Prepara la comida y la bebida antes de que lleguen los invitados

Ay que bonico ha quedado

Toma un frame del vídeo, cárgalo en GIMP, en el menú Colores selecciona Chromatic Aberration… y ponte a trastear los parámetros como una loca hasta que te salga bien la imagen y apunta los parámetros que te han salido. En mi caso me volví loca dos veces, y como mejor salía era con el Y axis Blue en -5 y todo lo demás en cero (excepto interpolation, que lo dejé linear).

4. ¡Fiesta!

En la fiesta vamos a: Extraer cada uno de los frames del vídeo y dejarlos como imagen PNG, procesar todas las imágenes con GIMP y Fix-CA, y volver a crear un vídeo desde todas las imágenes ya corregidas.

4.1 Sacar los frames

ffmpeg -i tuvideo.dv -f image2 -vcodec png imagenes%d.png

Esto saca del vídeo «tuvideo.dv» cada uno de sus frames en archivos png numerados en orden ascendente con los nombres imagenes1.png,imagenes2.png,imagenes3.png,etc.

4.2 Procesar con GIMP

Teniendo el script del punto 2 vamos a hacer que gimp haga su trabajo, esto se hace rellenando algo tal que así con los datos del punto 3:

gimp -i -b ‘(pattern blue red interpolation x-blue x-red y-blue y-red)’ –verbose

En mi maravilloso caso de imágenes del tipo .png, todos los parámetros a 0 excepto el y-blue que es -5, e interpolation lineal (que es 1) quedaría tal que así

gimp -i -b '(ca-corrector "*.png" 0 0 1 0 0 -5 0)' --verbose

Ejecuto esto y ¡a esperar!

4.3 Rehacer el vídeo

Ya tenemos todos los frames corregidos, ahora solo queda arrejuntarlos de nuevo.

ffmpeg -i imagenes%d.png -f image2 -aspect 16:9 tuvideosinaberracion.dv

La opción -aspect debe adecuarse al Aspect Ratio del vídeo, tu verás si es 16:9, 4:3 o cualquier otro.
Ten en cuenta que el vídeo va sin su audio original, si quieres audio tienes que sacarlo del vídeo original e incrustarlo en este vídeo ¿Sabes cómo hacerlo? ¡Claro! eres un tío listo 😀 y sino lo buscas en un momento.

5. Descansar

Después de tanta fiesta descansa macho, ya limpiarás mañana.

Hay que reconocer que este método, por lo menos en mi caso, no ha eliminado todos los efectos de la aberración, pero si los ha disimulado mucho.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.