Cámara¶
Cámaras soportadas¶
Logitech C270¶
Cámara HD USB con foco fijo.
Nombre |
Valor |
Parámetro |
Ancho |
1280 px | camera_width |
Alto |
960 px | camera_height |
Tasa de refresco |
30 fps | frame_rate |
Rotación |
Sí |
camera_rotate |
Inversión horizontal |
Sí |
camera_hflip |
Inversión vertical |
No | camera_vflip |
Distancia focal en x |
1430 px | camera_matrix |
Distancia focal en y |
1430 px | camera_matrix |
Centro óptico en x |
480 px | camera_matrix |
Centro óptico en y |
620 px | camera_matrix |
Distorsión |
No | use_distortion |
Controles de imagen¶
Nombre |
Rango |
Parámetro |
Brillo |
0-255 | brightness_ |
Contraste |
0-255 |
|
Saturación |
0-255 |
|
Exposición |
1-64 |
|
Estos parámetros tienes diferentes values para cada situación:
Captura de la textura
Detección del patrón
Detección del láser sobre el objeto
Detección del láser sobre el patrón
Por lo tanto, para cada caso se pueden establecer los valores óptimos.
Vaciar el buffer¶
OpenCV se utiliza para controlar la cámara. Contiene toda la funcionalidad necesaria para permitir un acceso sencillo.
En el bajo nivel del driver, cada sistema operativo tiene un comportamiento diferente en relación al buffer de imágenes almacenadas. Más aún, si el tiempo de exposición se sitúa sobre la tasa de refresco (33 ms), el llenado del buffer puede variar si se actualizan los controles de la imagen. Esto puede causar problemas de sincronización entre el láser y la cámara. En vez de utilizar un largo delay para alcanzar la sincronización, se aplica un método mejor utilizando valores personalizados para vaciar el buffer.
Nombre |
SO |
Valor |
Parámetro |
Flush de textura |
Linux | 3 | flush_linux_texture |
Flush de láser |
Linux | 2 | flush_linux_laser |
Flush de patrón |
Linux | 3 | flush_linux_pattern |
Flush de textura |
Windows | 4 | flush_windows_texture |
Flush de láser |
Windows | 3 | flush_windows_laser |
Flush de patrón |
Windows | 4 | flush_windows_pattern |
Flush de textura |
MacOSX | 4 | flush_darwin_texture |
Flush de láser |
MacOSX | 3 | flush_darwin_laser |
Flush de patrón |
MacOSX | 4 | flush_darwin_pattern |
Nota
En Linux, se utiliza una versión personalidada de OpenCV por las siguientes razones. En Windows y Mac, se utiliza la versión estándar 2.4.9.
Resolución de problemas¶
Enfocar imagen¶
La cámara Logitech C270 no está enfocada en la distancia de trabajo del esćaner (sobre 300 mm), sino que está enfocada a una distancia superior. Esto puede causar una detección del patrón menos precisa y peores valores de calibración.
Para mejorar esto, la cámara puede ser re-enfocada manualmente:
Eliminar la electrónica: la cámara no puede ser extraida si la placa está fija.
Desmontar la cámara: extraer los 3 tornillos y la tapa delantera.
Mover la lente para romper el pegamento.
Monta la cámara en el escáner.
Poner el patrón en la mitad de la plataforma.
Abrir el vídeo y mover el foco hasta que el patrón esté enfocado.
Montar de nuevo la cámara y el resto del escáner.
En este vídeo se explica cómo ajustar manualmente el foco de la cámara.