Erro de conexão para o driver da webcam linux para o matlab

3

Isso pode parecer uma postagem duplicada, bem, sim, é, mas tenho um problema diferente em comparação com a versão duplicada dela.

Meu valor para imaqhwinfo me dá:

   InstalledAdaptors: {'dcam'  'linuxvideo'}
    MATLABVersion: '7.14 (R2012a)'
      ToolboxName: 'Image Acquisition Toolbox'
   ToolboxVersion: '4.3 (R2012a)'

O valor para imaqhwinfo('linuxvideo',1) me dá:

DefaultFormat: 'YUYV_640x480'
   DeviceFileSupported: 0
            DeviceName: '1.3M WebCam'
              DeviceID: 1
 VideoInputConstructor: 'videoinput('linuxvideo', 1)'
VideoDeviceConstructor: 'imaq.VideoDevice('linuxvideo', 1)'
      SupportedFormats: {1x7 cell}

Então, depois disso, eu dei o seguinte para o terminal do Matlab:

vid = videoinput('linuxvideo', 1);
set(vid, 'ReturnedColorSpace', 'RGB');

No entanto, após inserir a seguinte linha:

img = getsnapshot(vid);

Eu recebo o seguinte erro:

Warning: Unable to set the selected source.  Perhaps the device is in use. 
Error using imaqdevice/getsnapshot (line 62)
Could not connect to the image acquisition device.  Device may be in use.

Eu postei essa pergunta no Matlab central e estou esperando por uma resposta.

Estou usando o ArchLinux (64 bits) & Matlab (2012a) (64 bits). Aplicativos de webcam, como Cheese estão funcionando bem. Eu posso ver meu rosto. Eu também tenho o Skype, embora ainda não o tenha configurado.

TL; DR

Alguém pode me ajudar a corrigir esse problema? Seria uma grande ajuda, porque se eu não puder, vou ter que reinstalar o Windows 7 por apenas um pouco de uma tarefa da escola, e isso consome tempo. Além disso, não quero voltar para o Windows agora.

P.S: lsusb me dá:

Bus 002 Device 005: ID 148e:099a EVATRONIX SA 
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 064e:a219 Suyin Corp. 1.3M WebCam (notebook emachines E730, Acer sub-brand)
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    
por motiur 16.08.2013 / 16:13

1 resposta

1

E se você incluir o argumento do tamanho da imagem?

vid = videoinput(‘linuxvideo’, 1, ‘YUYV_640x480′);

Em seguida, tente abrir uma janela de visualização para ver o vídeo em tempo de execução:

preview(vid);

Formatos

Além disso, você pode descobrir os formatos aceitáveis:

info = imaqhwinfo('linuxvideo', 1);
info.SupportedFormats'

Esses formatos podem ser usados assim:

vid = videoinput(‘linuxvideo’, 1, ‘...formats here...′);

Coisas adicionais para experimentar?

Eu daria uma olhada neste tópico de fóruns do ArchLinux intitulado: [RESOLVIDO] matlab capturando usando webcam . Havia várias outras coisas para tentar se o acima não funcionar.

    
por 16.08.2013 / 18:01