Sie sind auf Seite 1von 3

Conexión de una Webcam a Matlab

Nota: para que matlab pueda leer la información de la cámara en Windows (winvideo) se debe
instalar el paquete “OS Generic Video Interface ” desde el menú Add-Ons o con el
comando “supportPackageInstaller”

1. Adquisición y procesamiento de vídeo – comandos matlab

% Conexión de una Webcam a Matlab


% Image Acquisition Toolbox
% ***************************************
clc
clear all
close all

%% Características de vídeo del pc


% Información Sobre los controladores instalados.
imaqhwinfo

%% Dispositivos que se pueden acceder con el controlador


especificado
imaqhwinfo('winvideo')

%% Información específica de la cámara reconocida


camara = imaqhwinfo('winvideo', 1)

%% Se crea una entrada de video


vid = videoinput('winvideo', 1);

% Visualización del vídeo


preview(vid)

%% Adquirir y desplegar una imagen


frame = getsnapshot(vid);
frame_rgb = ycbcr2rgb(frame);
imshow(frame_rgb)

%% Cerrar ventana de visualización de vídeo


closepreview(vid)

%% Propiedades del objeto de vídeo


get(vid)

2. Adquisición y procesamiento de vídeo – GUI matlab

Utilizando el comando guide diseñar una interfaz gráfica para visualizar dos imágenes y dos
botones.
Incluir el siguiente código al final de en cada sección indicada:

% --- Executes just before interfaz is made visible.


function interfaz_OpeningFcn(hObject, eventdata, handles, varargin)

global vid;
vid = videoinput('winvideo', 1);

% Definir las características de la adquisición de video.


set(vid,'TriggerRepeat',Inf);
vid.FrameGrabInterval = 5;
vid.ReturnedColorspace = 'rgb';

% --- Executes on button press in pushbutton1.


function pushbutton1_Callback(hObject, eventdata, handles)

% Iniciar la adquisición de frames


global vid;
global a;
start(vid)
set(handles.pushbutton1, 'Enable', 'off');

a=1;
while (a > 0)
frames = getdata(vid,1);
imshow(frames, 'Parent', handles.axes1);
Imgris = rgb2gray(frames);
imshow(Imgris, 'Parent', handles.axes2);
end

% Detener la adquisición de frames y eliminar variables.


stop(vid)
delete(vid)
clear
close(gcf)

% --- Executes on button press in pushbutton1.


function pushbutton2_Callback(hObject, eventdata, handles)

% Detener la adquisición de frames y eliminar variables.


global a;
a=0;

ACTIVIDAD:

Capturar un frame del video y desplegarlo. Utilizar la siguiente instrucción,


frame = getsnapshot(vid);

3. Adquisición y procesamiento de vídeo – Simulink

Image Acquisition Toolbox: From Video Device


Computer System Toolbox \ Conversions: Color Space Conversion
Computer System Toolbox \ Sinks: To Video Display

Das könnte Ihnen auch gefallen