Para la representación de imágenes en otra ventana se utiliza la función imshow.
La función imshow representa la imagen que queramos representar en la ventana que indiquemos previamente, además tenemos la posibilidad de indicar dónde y cómo queremos que se represente esta ventana.
La estructura de la función imshow puede ser :
imshow(imagen, [low high]) : en este caso se representa una imagen en escala de grises, indicando low y high el rango de valores de los píxeles que se va a representar. El píxel con valor low o menor se representará en negro y el pixel valor high o mayor se representará en blanco. Si se utiliza un vector vacío [] el pixel de menor valor será el negro y el de mayor valor será el blanco.
imshow(rgb) :
jueves, 22 de diciembre de 2011
miércoles, 14 de diciembre de 2011
Capturar imágenes desde una web cam
Para capturar imágenes con Matlab se utiliza la Image Processing Toolbox, la cual debes de tener instalada en tu equipo.
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.
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.