Método 1:Uso de la caja de herramientas `IMAQ` (recomendada para la mayoría de los casos)
Este método proporciona más flexibilidad y control sobre el proceso de adquisición, lo que le permite trabajar con varias fuentes de video (cámaras web, tarjetas de captura, etc.). Necesitará la caja de herramientas de adquisición de imágenes.
`` `Matlab
% Reemplazar 'Winvideo' con el adaptador apropiado para su dispositivo.
% Use IMAQHWINFO para enumerar adaptadores y dispositivos disponibles.
vid =videoInput ('winvideo', 1); % 1 generalmente representa la primera cámara
% De propiedades establecidas (ajustarlas según sea necesario)
set (vid, 'FramesperTrigger', 1); % Capturar un cuadro a la vez
set (Vid, 'TriggerRepeat', Inf); % Captura continuamente
set (vid, 'returnedColorSpace', 'rgb'); % Obtener imágenes RGB
% Iniciar la adquisición de video
inicio (video);
% De cuadros de captura (ejemplo:captura durante 10 segundos)
tic;
Mientras que TOC <10
[marco, tiempo, ~] =getData (video, 1); % Obtener un marco
imshow (marco); % Muestra el marco
título (sprintf ('tiempo:%.2f segundos', tiempo));
Drawnow; % Actualizar la pantalla
fin
% Detener la adquisición de video
parar (vid);
eliminar (vid);
Vid claro;
`` `` ``
Antes de ejecutar esto:
1. Verifique su adaptador: Ejecute `imaqhwinfo` en la ventana de comando para ver qué dispositivos de entrada de video están disponibles en su sistema. Esto le dirá la cadena del adaptador correcta para usar (por ejemplo, 'winvideo', 'gige', 'gentl'). El número después del adaptador (por ejemplo, `1`) selecciona un dispositivo específico si múltiples están presentes.
2. Instale la caja de herramientas de adquisición de imágenes: Si no lo tiene, es posible que deba agregarlo a su instalación de Matlab.
Método 2:Uso de `VideoInput` (más simple, menos versátil)
Esta función es un envoltorio de nivel superior alrededor de `Imaq`. Es más fácil de usar para la captura básica de la cámara web, pero ofrece un control de grano menos fino.
`` `Matlab
vid =videoInput ('winvideo', 1); % Reemplazar 1 con la ID de dispositivo apropiada si es necesario
set (vid, 'FramesperTrigger', 1);
set (Vid, 'TriggerRepeat', Inf);
vista previa (VID); % Inicio de vista previa
% De cuadros de captura (ejemplo:capturar 10 cuadros)
para i =1:10
img =getSnapshot (video);
imshow (img);
pausa (0.1); % De pausa pequeña para ver las imágenes
fin
parar (vid);
eliminar (vid);
Vid claro;
`` `` ``
Consideraciones importantes:
* Manejo de errores: El código anterior carece de manejo de errores. En un entorno de producción, debe agregar bloques de 'try-catch` para manejar posibles errores (por ejemplo, dispositivo no encontrado, problemas de conexión).
* velocidad de cuadro: Puede controlar la velocidad de cuadro utilizando propiedades como `Vid.framespertRigger` y` Vid.RiggerRepeat`. Para la captura continua, establezca `FramespertRigger` en un valor más alto o` inf` y ajuste el bucle en consecuencia.
* Resolución: La resolución del video capturado depende de su cámara y se puede ajustar utilizando propiedades como 'Vid.Videoresolution`.
* Guardar el archivo: Para guardar el video capturado, necesitará usar funciones como `Imwrite` para guardar marcos individuales como imágenes (por ejemplo, en una secuencia de JPG o PNG) o usar un objeto de escritor de video (` Videowriter`) para crear un archivo de video (por ejemplo, AVI, MP4).
Recuerde reemplazar '' Winvideo ', 1` con el adaptador y la ID del dispositivo apropiados para su configuración específica. Siempre consulte la documentación de MATLAB para la función `IMAQ` Toolbox y 'VideoInput' para obtener información detallada y opciones avanzadas.