¿Cómo alinear automáticamente una pila de disparos a la cabeza?

14

Estoy trabajando en mi propio proyecto de "cara cotidiana": después me tomé fotos para combinarlas en una secuencia.

Me pregunto cuál es la forma más fácil y rápida de alinear todas las imágenes para que mis ojos estén exactamente en la misma posición para todas las imágenes.

Parámetros como la distancia de mi cara a la cámara y la posición de la cabeza en todas las imágenes son muy similares, pero cambian un poco de una imagen a otra.

¿Cuál es la forma más rápida de alinear las imágenes según la posición de los ojos?

usuario40
fuente
O vea otras respuestas en la etiqueta de alineación automática .
Por favor, lea mi perfil
Para la animación, vea mi respuesta a la pregunta duplicada
Ciprian Tomoiagă
1
No creo que sea un duplicado ya que alinear caras es de alguna manera una tarea especial. Hay un software especial disponible para detectar posiciones faciales como thregr.org/~wavexx/software/facedetect . Lamentablemente, no puedo publicar esto como respuesta. Sugiero volver a abrir esta pregunta, pero cambiar el título para reflejar mejor las preguntas, por ejemplo, "Cómo alinear automáticamente una secuencia de disparos a la cabeza".
Chris
@Chris Haces un buen caso. La detección y alineación de rostros es un caso especial de subconjunto del apilamiento general de imágenes (que generalmente asume imágenes idénticas (-ish) todas apiladas y alineadas. He nominado para la reapertura.
scottbb

Respuestas:

12

No sé si es lo más fácil, pero esto funciona bastante bien para mis necesidades:

$ align_image_stack -a aligned -C *.jpg

La utilidad 'align_image_stack' es parte de hugin , y en Debian / Ubuntu (y otros derivados probablemente) la adquieres instalando el paquete 'hugin-tools'. En el comando anterior:

  • '-a alineado' establece el prefijo del nombre de las imágenes de salida en 'alineado'
  • '-C' recorta imágenes de salida al área cubierta por todas las imágenes
  • '* .jpg' le dice al programa que trabaje en todas las imágenes jpg en el directorio actual.
Maciej Hrynczyszyn
fuente
Gracias por responder ¿Dónde se debe escribir esto? Estoy usando Mac, he descargado Hugin, pero tiene GUI. ¿Cómo puedo instalar las herramientas hugin? gracias
usuario40
Ok, he intentado esto en ubuntu, realmente no funciona bien. Se alinea un poco, pero los ojos todavía se "mueven" de una imagen a otra, aunque solo se requiere un poco de alineación: las imágenes se toman con una buena precisión.
usuario40
Tengo 400 imágenes y esto se ha estado ejecutando durante 2 días seguidos y todavía no ha escrito ninguna imagen de salida. ¿Tiene un tiempo de ejecución O (N ^ 2) o algo así?
RandomEngy
> Align_image_stack solo funciona con imágenes del mismo tamaño.
manejar
@ user40 puede acceder al comando a través de / Aplicaciones / Hugin / tools_mac / align_image_stack
Aaron Fi
6

La forma más fácil es probablemente usar Hugin .

La herramienta de línea de comando que en realidad está haciendo todo el trabajo debajo de la GUI de Hugin es align_image_stack, y si instala Hugin, debería poder escribirla directamente en la línea de comando, pero la GUI de Hugin probablemente sea más fácil de usar.

Desde las páginas web de hugin (debería funcionar con la versión 2013 actual de Hugin):

Alineándose con hugin

  1. Inicie un nuevo proyecto hugin para cada serie y cargue las imágenes. Configure el campo de visión, los parámetros de la lente y el tipo de proyección, es decir, si su lente es un ojo de pez, configúrelo tanto para la proyección de entrada como de salida.

  2. Cree puntos de control a través de la pestaña Fotos. Align_image_stack está especializado para esta tarea. Pero también Panomatic o Cpfind funcionan para este caso de uso.

  3. Seleccione "Posiciones (y, p, r)" y "¡Optimizar ahora!" en la pestaña Fotos.

  4. Si es necesario, ajuste los puntos de control en la pestaña Puntos de control y optimice nuevamente.

  5. En la vista previa panorámica rápida, las imágenes estarán una encima de la otra. Seleccione "Mover / Arrastrar" y "Ajustar", luego seleccione "Recortar" y "Recorte automático HDR".

  6. En la pestaña Grapadora, seleccione "Calcular tamaño óptimo", luego anule la selección de las salidas panorámicas predeterminadas y seleccione "Sin corrección de exposición, rango dinámico bajo" en la sección "Imágenes reasignadas". Seleccione "Stitch!".

Probablemente desee establecer manualmente los puntos de control para sus ojos, y posiblemente borrar todos los demás puntos, ya que no le importa que coincidan otros detalles.

inkista
fuente
1
Tuve problemas para desactivar la corrección de exposición. Interfaz-> Experto, pestaña Fotos, Establecer fotométrico (abajo) en Personalizado (desbloquea pestaña de exposición), pestaña Exposición, Restablecer a cero. Luego coser.
jozxyqk
1

Hay disponible un software especial para la detección de rostros que puede ayudar a alinear los disparos a la cabeza. Si bien no conozco una solución lista para usar, puede comenzar, por ejemplo, con el software de detección de rostros de https://www.thregr.org/~wavexx/software/facedetect/ . Puede generar la posición y el tamaño de las caras detectadas y puede usarlo en un script. Podría funcionar siempre que no necesite rotación. Probablemente, el software se puede adaptar incluso para indicar las posiciones de los ojos, lo que podría usarse para determinar la rotación requerida, pero también puede haber otras opciones. Quizás se conecte con el autor del software si necesita tales cifras adicionales.

Chris
fuente
0

Cuantas fotos Si solo son unos pocos, lo más fácil es usar Photoshop, dos reglas y piel de cebolla (hacer dos capas, una foto no es transparente, la de arriba es semitransparente) y mover las imágenes con el mouse o ajustar con teclas de flecha.

Si entras en él, unos cientos de imágenes van bastante rápido.

No use la piel de cebolla sola, use reglas también, de lo contrario tenderá a alejarse un poco con el centro de los ojos.

Además, si la distancia entre los ojos no es completamente constante, tendrá que usar Free Transform de todos modos ...

TFuto
fuente
1
Eso es lo que he probado antes de publicar aquí. No lo encontré rápido) pero gracias.
usuario40