2012-07-15 13 views
6

He estado ejecutando un proyecto de costura de imágenes desde varias cámaras, pero creo que tengo un cuello de botella ... Tengo algunas preguntas sobre este tema.Costura de imagen de cámara múltiple

Quiero intentar montarlos en un vehículo en el futuro y eso significa que las posiciones relativas y orientaciones de las cámaras están FIJAS.

Además, como uso varias cámaras y trato de suturar imágenes usando HOMOGRAFÍA, coloco las cámaras lo más cerca posible para que los errores (debido a que los focos de las cámaras no están en la misma posición y es imposible ya que las cámaras ocupan cierto espacio.) se puede reducir.

Aquí hay un breve video de experimento mío. http://www.youtube.com/watch?v=JEQJZQq3RTY

El resultado costura es muy terrible como se muestra allí ... pesar de que el la escena capturada por las cámaras es estática, la homografía conserva variable.

El siguiente enlace es el código que he hecho hasta ahora y code1.png y code2.png son imágenes que muestran parte de mi código en Stitching_refind.cpp.

https://docs.google.com/folder/d/0B2r9FmkcbNwAbHdtVEVkSW1SQW8/edit?pli=1

he cambiado algunos de los contenidos en el código hace unos días como para hacer el Paso 2, 3 y 4 (Por favor marque las 2 imágenes png mencionados anteriormente) sólo una vez.


En resumen, mis preguntas son:

1. ¿Es posible averiguar regiones solapadas antes de características de computación? No quiero calcular las características en las imágenes completas ya que resultará en más tiempo computacional y desajustes. Me pregunto si es posible JUSTAR las características de la computadora en la región superpuesta de 2 imágenes adyacentes.

2. ¿Qué puedo hacer para que la homografía obtenida sea más precisa? Algunas personas hablaron de CALIBRACIÓN DE LA CÁMARA y probaron algún otro método de coincidencia. Todavía soy nuevo en Computer Vision ... Traté de estudiar algunos materiales sobre la calibración de la cámara, pero todavía no tengo idea de para qué sirve. Hace

aproximadamente 2 meses hice una pregunta similar aquí: Having some difficulty in image stitching using OpenCV

, donde uno de quien responde Chris dijo:

Suena como si se fuera de este sensatez, pero si usted tiene acceso a ambas cámaras, y se mantendrán estacionarias con entre sí, luego calibrando fuera de línea, y simplemente aplicando la transformación en línea hará que su aplicación sea más eficiente.

¿Qué significa "calibrar fuera de línea"? y que ayuda?

Gracias por cualquier consejo y ayuda.

+0

Lo siento por mi respuesta tardía, he estado fuera por un par de semanas. Me temo que realmente no he pasado por el proceso de alinear dos cámaras de esta manera, solo conozco el principio general. Sin embargo, la función que desea buscar es [stereoCalibrate] (http://opencv.itseez.com/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#stereocalibrate), con la calibración estéreo de su término de búsqueda para google. – Chris

Respuesta

5

Como Chris escrito:

However, your points are not restricted to a specific plane as they are 
imaging a 3D scene. If you wanted to calibrate offline, you could image 
a chessboard with both cameras, and the detected corners could be used 
in this function. 

Calibrar sin conexión significa que se utiliza un patrón callibration del fáciles de detectar. Luego calcule la matriz de transformación. Después de esta calibración, aplica esta matriz (previamente calculada) a las imágenes adquiridas, debería funcionar para usted.

+0

Disculpe, todavía no lo entiendo ... 1. ¿Qué tiene que ver la calibración con el cálculo de la Homografía? 2. "Calibrar sin conexión significa que se utiliza un patrón callibration del fáciles de detectar. A continuación, calcular la matriz de transformación. Después de esta calibración se aplique esta matriz (calculado previamente) a las imágenes adquiridas" Sé que hay un código de calibración de la cámara en OpenCV http://opencv.itseez.com/doc/tutorials/calib3d/camera_calibration/camera_calibration.html Entonces, ¿qué debo hacer es ejecutar dicho código de calibración solo UNA VEZ y luego ejecutar mi propio código de costura? –

+0

En el enlace que ha agregado, se trata de almacenar los parámetros de la cámara, se calcula una vez en el patrón del tablero de cheques y luego se usa para la adquisición. Aquí también algunas referencias sobre la homografía: http://www.ics.uci.edu/~majumder/vispercep/cameracalib.pdf http://www.epixea.com/research/multi-view-coding-thesisse9.html http: //people.scs.carleton.ca/~c_shu/Courses/comp4900d/notes/homography.pdf – krzych

+0

¿Significa que tengo que preparar un tablero de ajedrez para la calibración? Tengo un conjunto de imágenes de tablero de ajedrez, que se utilizan para "calibración estéreo" en la PC de mi compañero de LAB. Los cargué en mi unidad de Google ahora. https://docs.google.com/folder/d/0B2r9FmkcbNwAbHdtVEVkSW1SQW8/edit –

Cuestiones relacionadas