如何在MATLAB中使用网络摄像头在While循环中拍照?

时间:2015-09-15 13:17:42

标签: matlab webcam-capture

问题的情况:

Arduino测量物体的长度。如果长度在预定的间隔之间,则Arduino序列写入' 1'在特定的COM端口上。 MATLAB将读取相同的COM端口,因此我们可以读取MATLAB中的“1”。对于每个' 1' (由Matlab阅读)照片由网络摄像头拍摄。下面的While循环使我们有机会在MATLAB中读取'1'。

clear all
clc

arduino = serial('/dev/tty.usbmodem1411','BaudRate',9600);

fopen(arduino);
Sensor = true
cam = webcam(2);


while (Sensor) 
    A = fscanf(arduino,'%d')

    if A == 1

        img = snapshot(cam);
        imshow(img);

     end

end

fclose(arduino);

但网络摄像头没有拍摄我们想拍的照片。

我们遇到以下问题:

第一次' 1'读(由Matlab),没有拍照。第二次拍照。到第三个'1',前一张照片有点变化(但是Matlab没有给第三个'1'拍摄的照片。然后是第四个'1',Matlab给出了第三个拍摄的照片。

有人知道如何解决这个问题吗?

0 个答案:

没有答案