2012-05-02 15 views
10

Estoy pensando en las imágenes de costura de 2 o más (en la actualidad tal vez 3 o 4) cámaras en tiempo real usando OpenCV 2.3.1 en Visual Studio 2008.en tiempo real de vídeo (imagen) cosiendo

Sin embargo, Tengo curiosidad sobre cómo se hace.

Recientemente he estudiado algunas técnicas de método de costura de imágenes basadas en características.

La mayoría de ellos requiere al menos la siguiente etapa:

1.Feature detección 2.Feature juego 3.Finding Homografía 4.Transformation de imágenes de destino para hacer referencia a las imágenes ... etc

Ahora, la mayoría de las técnicas que he leído solo tratan de imágenes "UNA VEZ", mientras que me gustaría tratar con una serie de imágenes capturadas de algunas cámaras y quiero que sea "EN TIEMPO REAL".

Hasta ahora puede parecer confuso. Estoy describiendo el detalle:

Coloque 3 cámaras en diferentes ángulos y posiciones, mientras que cada una de ellas debe tener áreas superpuestas con su adyacente para construir una costura de video en TIEMPO REAL.

Lo que me gustaría hacer es similar al contenido en el siguiente enlace, donde se usa ASIFT.

http://www.youtube.com/watch?v=a5OK6bwke3I

Me trataron de consultar al propietario de ese video pero no obtuvo respuesta de él :(.

¿Puedo utilizar métodos de imagen de costura para hacer frente a la costura de vídeo? vídeo en sí se compone de una serie de imágenes, así que me pregunto si esto es posible. Sin embargo, la detección de puntos de función parece consumir mucho tiempo, sea cual sea el detector de función (SURF, SIFT, ASIFT ... etc.) que utilice. Esto me hace dudar de la posibilidad de haciendo puntadas de video en tiempo real.

+1

¿Alguna vez nada de trabajo? – speedplane

+2

http://www.youtube.com/watch?v=QzDpMsVgjxg –

+0

Utilicé este servicio con gran éxito. http://unbouncepages.com/panoslide/ – Andreas

Respuesta

11

He trabajado en un sistema de costura de video en tiempo real y es un problema difícil. No puedo divulgar la solución completa que utilizamos debido a una NDA, pero implementé algo similar al the one described in this paper. El mayor problema es hacer frente a objetos a diferentes profundidades (las homografías simples no son suficientes); se deben determinar las disparidades de profundidad y los marcos de video deben deformarse adecuadamente para que las características comunes estén alineadas. Este es esencialmente un problema de visión estereoscópica. El images must first be rectified para que las funciones comunes aparezcan en la misma línea de escaneo.

+0

Actualmente estoy escribiendo mis códigos en Visual Studio 2010. Mi profesor me dijo que primero lo desarrollara en PC y, por supuesto, es casi imposible hacerlo en tiempo real. Hasta ahora acabo de hacer la detección y la coincidencia de funciones usando OpenCV 2.3.1.El resultado es que tarda casi 3 segundos en finalizar los pasos (detección de funciones (SURF) y coincidencia, incluida la eliminación de valores atípicos utilizando RANSAC) y la velocidad de cuadros es muy terrible ... –

+0

Mi prof. alguien tendrá que darse cuenta en FPGA o tengo que terminar todos los algoritmos necesarios primero y más tarde para dejar que alguien lo descubra en FPGA porque yo no estoy familiarizado con él. Solo estaba pensando en implementar los métodos de costura de imágenes basadas en características para hacer esto. Es decir, ponerlos en un bucle infinito "while (True)" para hacer continuamente pespuntes de imágenes de 2 o 3 imágenes tomadas de 3 cámaras diferentes. –

+0

Sin embargo, me pregunto si funcionaría para ser satisfactorio. –

3

Puede que también le interese mi proyecto de hace algunos años. Es un programa que le permite experimentar con diferentes parámetros de costura y ver los resultados en tiempo real.

página Proyecto - https://github.com/lukeyeager/StitcHD

Demostración de vídeo - https://youtu.be/mMcrOpVx9aY?t=3m38s

+0

Muy buenos videos de demostración, ¿es realmente fácil ejecutar el proyecto? – theAlse

+0

¿Necesitamos ejecutarlo en Visual Studio? – Anirudh