Lo primero que tenemos que saber es qué cámaras hay conectadas al equipo, para ello se utiliza la instrucción imaqhwinfo.
>> imaqhwinfo
ans =
InstalledAdaptors: {'matrox' 'winvideo'}
MATLABVersion: '7.12 (R2011a)'
ToolboxName: 'Image Acquisition Toolbox'
ToolboxVersion: '4.1 (R2011a)'
El siguiente paso es la creación de un objeto de vídeo de entrada. Esto se hace utilizando la instrucción videoinput(adaptorname, deviceId), donde adaptorname es un string que identifica al adaptador que se va a utilizar para comunicarnos con la cámara ('matrox', 'videoinput',..) y deviceId es un número entero que indica el dispositivo que se va a utilizar si hay varios con el mismo adaptador.
>> obj=videoinput('winvideo',1)
Summary of Video Input Object Using 'Vimicro USB2.0 UVC PC Camera'.
Acquisition Source(s): input1 is available.
Acquisition Parameters: 'input1' is the current selected source.
10 frames per trigger using the selected source.
'RGB24_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.
Una vez creado el objeto de vídeo, ya se puede empezar a realizar la captura de frames. Para ello se utiliza la función frame=getsnapshot(obj), que devuelve los valores del frame del objeto de vídeo creado.
No olvidar eliminar los datos de la adquisición de imagen de memoria, usando flushdata(obj) y delete(obj).
Para más información sobre cualquier función, escribid help nombredelafunción en el promt de matlab.
No olvidar eliminar los datos de la adquisición de imagen de memoria, usando flushdata(obj) y delete(obj).
Para más información sobre cualquier función, escribid help nombredelafunción en el promt de matlab.
me sirvió para practicar la adquisición de una imágen, gracias; por cierto, ¿no tendrás un algoritmo de hough?
ResponderEliminargracias
ResponderEliminar