O Matlab oferece várias maneiras de capturar vídeo, dependendo das suas necessidades e do hardware que você está usando. Aqui estão exemplos usando a caixa de ferramentas `IMAQ` (para mais controle e vários dispositivos) e a função` videoInput` (mais simples, mas potencialmente menos flexível).
Método 1:Usando a caixa de ferramentas `imaq` (recomendada para a maioria dos casos) Este método fornece mais flexibilidade e controle sobre o processo de aquisição, permitindo que você trabalhe com várias fontes de vídeo (webcams, cartões de captura etc.). Você precisará da caixa de ferramentas de aquisição de imagens.
`` `Matlab
% Substitua 'WinVideo' pelo adaptador apropriado para o seu dispositivo.
% Use iMaqhwinfo para listar adaptadores e dispositivos disponíveis.
vid =videoinput ('winvideo', 1); % 1 geralmente representa a primeira câmera
% Definir propriedades (ajustá -las conforme necessário)
set (vid, 'Framespertrigger', 1); % Capture um quadro de cada vez
set (vid, 'triggerRepeat', inf); % Capture continuamente
set (vid, 'returnColorspace', 'rgb'); % Obtenha imagens RGB
% Inicie a aquisição de vídeo
start (vid);
% Capture Frames (Exemplo:Capture por 10 segundos)
tique;
enquanto TOC <10
[quadro, tempo, ~] =getData (vid, 1); % Obtenha um quadro
imshow (quadro); % Exibir o quadro
título (sprintf ('time:%.2f segundos', tempo));
desenhado; % Atualize a tela
fim
% Pare a aquisição de vídeo
pare (vid);
excluir (vid);
Vid claro;
`` `
Antes de executar o seguinte: 1.
Verifique seu adaptador: Execute `imaqhwinfo` na janela de comando para ver quais dispositivos de entrada de vídeo estão disponíveis no seu sistema. Isso informará a sequência do adaptador correta para usar (por exemplo, 'WinVideo', 'Gige', 'Gentl'). O número após o adaptador (por exemplo, `1`) seleciona um dispositivo específico se estiver presente.
2.
Instale a caixa de ferramentas de aquisição de imagem: Se você não tiver, pode ser necessário adicioná -lo à sua instalação do MATLAB.
Método 2:usando `videoInput` (mais simples, menos versátil) Esta função é um invólucro de nível superior em torno de `imaq`. É mais fácil de usar para captura básica de webcam, mas oferece menos controle de granulação fina.
`` `Matlab
vid =videoinput ('winvideo', 1); % Substitua 1 pelo ID do dispositivo apropriado, se necessário
set (vid, 'Framespertrigger', 1);
set (vid, 'triggerRepeat', inf);
visualização (vid); % Iniciar visualização
% Capture Frames (Exemplo:Capture 10 quadros)
para i =1:10
img =getsnapshot (vid);
imshow (img);
pausa (0,1); % Pequena pausa para ver as imagens
fim
pare (vid);
excluir (vid);
Vid claro;
`` `
Considerações importantes: *
Manuseio de erro: O código acima não possui manuseio de erros. Em um ambiente de produção, você deve adicionar blocos 'Try-Catch` para lidar com possíveis erros (por exemplo, dispositivo não encontrado, problemas de conexão).
*
Taxa de quadros: Você pode controlar a taxa de quadros usando propriedades como 'vid.framespertrigger` e `vid.triggerRepeat`. Para captura contínua, defina `Framespertrigger` como um valor mais alto ou` inf` e ajuste o loop de acordo.
*
Resolução: A resolução do vídeo capturado depende da sua câmera e pode ser ajustada usando propriedades como `vid.Videoresolution`.
*
Economia de arquivo: Para salvar o vídeo capturado, você precisará usar funções como `imwrite` para salvar quadros individuais como imagens (por exemplo, em uma sequência de JPGs ou PNGs) ou usar um objeto de escritor de vídeo (` videowriter`) para criar um arquivo de vídeo (por exemplo, AVI, MP4).
Lembre -se de substituir `'WinVideo', 1` pelo adaptador e ID do dispositivo apropriado para sua configuração específica. Sempre consulte a documentação do MATLAB para a função `imaq` e` videoInput` para obter informações detalhadas e opções avançadas.