Modelos, Control y Sistema de Visión

Central     Modelos     Control     Visión     Aplicaciones     Publicaciones     Mapa     Buzón     Sobre el autor      
Hardware     Imágenes     Transformaciones     Histograma     Filtros     Gradiente     Morfología      
Componentes de un sistema de visión
                                                                                                                  

 
Existen varios factores que deben considerarse para seleccionar un sistema de visión, se tratan aquí los relativos a la cámara y el monitor:
Amplificación primaria: Determina la selección de la cámara, el sensor y la óptica, basado fundamentalmente en la resolución deseada en el campo de visión.
Amplificación secundaria: Está directamente relacionada con la relación de píxeles entre el sensor CCD y la pantalla del monitor. La selección de este último no es necesario en algunas aplicaciones, en las que se procesa la imagen generada por la cámara de forma directa.
 Se puede consultar un ejemplo de selección de una lente y una cámara y una estrategia de calibración del sistema de visión basado en el método de Koren.                           
                        
                   Transparencias

 
Instalación de una cámara

Para instalar una cámara que forme parte de un sistema de visión se siguen los siguientes pasos, de acuerdo al software de control de la cámara que se pretenda utilizar.
 

Utilización de los programas que brinda el fabricante

 

[1] Instalar el software del fabricante

 

Se utilizará como ejemplo la cámara Guppy F-046B con una lente de 12mm GM21214MCN:

 

 

la cual puede instalarse y configurarse a través del programa AVT SmartView (el cual incluye el controlador "Vista Signed 1394 driver", para acceder a la interfaz IEEE 1394 (FireWire)) que forma parte de grupo de programas AVT FirePackage.

 

Se instala el programa y se verifica en "Administrador de dispositivos" que el correspondiente controlador está instalado, tal y como se muestra a continuación

 

  

 

[2] Ejecutar la aplicación y activar la cámara

 

Las siguientes figuras muestran los pasos que deben ejecutarse

 

 

 

1.-Activar la cámara

 

 

 

 

2.-Si existen problemas, verificar:

 

Camera->Settings... y definir las siguientes propiedades

 

 

3.-Debe aparecer la imagen después de activar "play"

 

[3] Ajustar las propiedades de la cámara

 

En este paso se ajusta la velocidad de disparo, las propiedades de las comunicaciones, el brillo, contraste, etc. Para ejecutar lo anterior se ejecuta la secuencia: Camera -> Settings -> Settings dialog...

 

Algunas ventanas para el ajuste de la cámara, que incorpora la aplicación, se muestran a continuación

 

 

Conexión directa de la cámara a Matlab

 


 La cámara Guppy F-046B, como lo indican sus características, se conecta al ordenador a través de una interfaz IEEE 1394 (FireWire). Matlab describe en su página Web los pasos para conectar cámaras con la interfaz IEEE 1394. Los pasos a seguir son los siguientes:

 

[1] Descargar e instalar el programa "CMU 1394Camera" (la última versión hasta el presente es el "driver 6.4.4", del 3 de diciembre de 2006, que es la que utilizamos) e instalarlo.

 

El controlador se instala con la cámara desconectada, posteriormente se apaga el ordenador, se conecta la cámara y se inicializa el sistema. En Windows Vista se reconocerá el nuevo hardware. Debe seleccionarse la instalación del controlador CMU 1394. Se debe verificar que en el "Administrador de dispositivos" esté instalado el controlador.

                      Transparencias

      


 

[2] Ejecutar el programa "1394Camera Demo" que se ha instalado en el paso anterior. 

                                                                                                                  

Activar: Camera -> Check link (detecta la cámara).

Seleccionar la cámara: Camera -> Select Camera

Inicializar la cámara: Camera -> Init Camera

Mostrar la imagen: Camera -> Show Camera

 

Las siguientes figuras muestran la secuencia de conexión de la cámara

 

 

Verificar controladores en

"Administrador de dispositivos"

Selección de la cámara

Definición de imágenes a

capturar por segundo

 

Imagen adquirida

 


Adquisición de imágenes desde el espacio de trabajo

 

La cámara puede controlarse directamente desde el espacio de trabajo de Matlab, un ejemplo de sesión se muestra a continuación

 

% Obtener información de los drivers instalados:

>> imaqhwinfo
ans =
InstalledAdaptors: {'coreco' 'dcam' 'demo' 'winvideo'}
MATLABVersion: '7.4 (R2007a)'
ToolboxName: 'Image Acquisition Toolbox'
ToolboxVersion: '2.1 (R2007a)'

 

% Identificar una cámara conectada:

>> imaqhwinfo('dcam')
ans =
AdaptorDllName: 'C:\Program Files\MATLAB\R2007a\toolbox\imaq\imaqadaptors\win32\mwdcamimaq.dll'
AdaptorDllVersion: '2.1 (R2007a)'
AdaptorName: 'dcam'
DeviceIDs: {[1]}
DeviceInfo: [1x1 struct]

 

% Información sobre una cámara conectada:

>> dev_info = imaqhwinfo('dcam',1)
dev_info =
DefaultFormat: 'Y8_640x480'
DeviceFileSupported: 0
DeviceName: 'Guppy F046B'
DeviceID: 1
ObjectConstructor: 'videoinput('dcam', 1)'
SupportedFormats: {'Y8_640x480'}

 

% Se define el objeto fuente de vídeo

>> vid = videoinput('dcam',1,'Y8_640x480')
Summary of Video Input Object Using 'Guppy F046B'.

Acquisition Source(s): input1 is available.
Acquisition Parameters: 'input1' is the current selected source.
10 frames per trigger using the selected source.
'Y8_640x480' video data to be logged upon START.
Grabbing first of every 1 frame(s).
Log data to 'memory' on trigger.
Trigger Parameters: 1 'immediate' trigger(s) on START.
Status: Waiting for START.
0 frames acquired since starting.
0 frames available for GETDATA.

 

% Se visualiza la imagen

>> preview(vid)

 

% Se determinan los parámetros configurables de la cámara (la información que se brinda depende del fabricante y tipo de cámara)

>> set(vid)
General Settings:
DiskLogger
FrameGrabInterval
FramesPerTrigger
LoggingMode: [ {memory} | disk | disk&memory ]
Name
ROIPosition
Tag
Timeout
UserData
Color Space Settings
BayerSensorAlignment: [ {grbg} | gbrg | rggb | bggr ]
ReturnedColorSpace: [ rgb | {grayscale} | YCbCr | bayer ]
Callback Function Settings:
ErrorFcn: string -or- function handle -or- cell array
FramesAcquiredFcn: string -or- function handle -or- cell array
FramesAcquiredFcnCount
StartFcn: string -or- function handle -or- cell array
StopFcn: string -or- function handle -or- cell array
TimerFcn: string -or- function handle -or- cell array
TimerPeriod
TriggerFcn: string -or- function handle -or- cell array
Trigger Settings:
TriggerFrameDelay
TriggerRepeat
Acquisition Sources:
SelectedSourceName: [ {input1} ]

 

% Se analizan las opciones disponibles para determinado parámetro de la cámara

>> set(vid, 'ReturnedColorSpace')
[ rgb | {grayscale} | YCbCr | bayer ]

 

% Se determina el valor actual del parámetro

>> get(vid, {'ReturnedColorSpace'})
ans =
'grayscale'

 

% Se altera y verifica el valor actual del parámetro

>> set(vid, 'ReturnedColorSpace', 'YCbCr');
>> get(vid, {'ReturnedColorSpace'})
ans =
'YCbCr'

 

% Se adquieren 5 imágenes con 16 bits en escala de grises

>> start(vid);

>> imagenes_5 = getdata(vid,5,'uint16');

>> delete(vid);

 

% Se visualizan las imágenes adquiridas

>> imaqmontage(imagenes_5)

 

% Se adquiere y visualiza una única imagen

>> una_imagen = getsnapshot(vid)

>> imshow(una_imagen)

 

Las características del Image Acquisition Toolbox de Matlab pueden accederse a través de la interfaz gráfica de usuario imaqtool, como se muestra a continuación

 


Adquisición de imágenes desde Simulink

 

Para adquirir imágenes utilizando Simulink se utilizan los bloques "From Video Device" en "Image Acquisition Toolbox" y "To Video Display" en "Sinks" perteneciente a "Video and Image Processing Blockset", tal y como muestra la figura. Se puede alterar los parámetros de la cámara, el formato de adquisición y visualización de las imágenes, el número de imágenes a adquirir, etc.

 

 

Existen otros bloques disponibles en Simulink, como el "To Multimedia File", que permite grabar video en diferentes formatos (WMV, DivX, etc.).

El bloque "From Video Device" es especialmente útil para determinar los parámetros que pueden configurarse en la cámara, lo cual puede definirse posteriormente en el espacio de trabajo.

 

Referencias:

 

[1] Matlab: Image Acquisition Toolbox. 2007.

[2] Adept Electronic Solutions

[3] Allied Vision Technologies