2012-06-01 12 views
5

Estoy tratando de implementar la mezcla alfa con dos imágenes para la costura de imágenes. Mi primera imagen es la siguiente -> enter image description herecómo encontrar la región superpuesta entre imágenes en opencv?

aquí es mi segunda imagen -> enter image description here

imagen Aquí está mi resultado -> enter image description here

Como se puede ver el resultado no es correcto. Creo que primero tengo que encontrar la región superpuesta entre entonces y luego implementar la mezcla alfa en la parte superpuesta.

Respuesta

4

Antes que nada, ¿ha visto un nuevo módulo de "costuras" introducido en OpenCV 2.3?

Proporciona un conjunto de bloques de construcción para la costura de tuberías, incluidos los pasos de fusión y "búsqueda de una superposición" (por ejemplo, registro). Aquí hay una documentación: http://docs.opencv.org/modules/stitching/doc/stitching.html y un ejemplo de aplicación de costura: stitching_detailed.cpp

Le recomiendo que estudie el código de esta muestra para una mejor comprensión de los detalles.

En cuanto al hallazgo de solapamiento hay varios enfoques comunes en la visión por ordenador:

  • flujo óptico
  • plantilla a juego
  • característica de juego

Para su caso recomiendo el último - Funciona muy bien en las fotos. Y este enfoque ya está implementado en OpenCV: explore la fuente de OpenCv y vea cómo funciona el cv::detail::BestOf2NearestMatcher.

+0

"Registro de imágenes" es otro término del mundo de la visión por computadora que podría ser útil; se refiere al proceso de alineación de múltiples imágenes superpuestas. –

+0

Realmente, realmente me pregunto cómo usaría el Flujo óptico aquí ?! Optical Flow debe funcionar en una secuencia de imágenes ... – CTZStef

2

Creo que el enfoque más común es SIFT, encuentre algunos puntos clave en ambas imágenes y luego modifíquelas para obtener su resultado. Consulte this

Here son explicaciones sobre SIFT y pespunte panorámico.

Cuestiones relacionadas