主要内容

启动和停止一个视频输入对象

当你创建一个视频输入对象,MATLAB之间建立一个连接®和一个图像采集设备。然而,你可以从设备获取数据之前,您必须启动对象,使用开始函数。

开始(vid);

当你开始一个对象,你储备专用的设备和锁的配置。因此,某些属性成为只读而运行。

一个图像采集对象停止运行时满足下列条件:

  • 请求帧的数量。这发生在

    FramesAcquired = FramesPerTrigger * (TriggerRepeat + 1)

    在哪里FramesAcquired,FramesPerTrigger,TriggerRepeat视频输入对象的属性。这些属性的信息,请参阅获取图像数据

  • 运行时发生错误。

  • 对象的超时值是达到了。

  • 你的问题停止函数。

当一个对象开始,工具箱对象的集合运行财产“上”。当一个对象没有运行,工具箱对象的集合运行财产“关闭”;这种状态被称为停了下来。

下图说明了物体运动从运行到停止状态。

从运行到停止状态的转换

下面的例子说明了启动和停止一个对象:

  1. 创建一个图像采集对象——这个例子创建了一个视频输入对象摄像头图像采集设备。要在您的系统上运行这个例子,可以使用imaqhwinfo函数来得到对象构造函数的图像采集设备和替代品,下面的代码的语法。

    vid = videoinput (' winvideo ', 1);
  2. 验证图像处于停止状态——使用正在函数来确定视频输入对象的当前状态。

    正在(vid) ans = 0
  3. 配置属性为了说明对象状态,设置视频输入对象的TriggerType财产“手动”。设置某些触发的价值属性,包括TriggerType财产,你必须使用triggerconfig函数。看到设置触发属性的值为更多的信息。

    triggerconfig(请看“手册”)

    配置一个收购,需要几秒钟,这样您就可以看到日志记录的视频输入状态。

    从视频。FramesPerTrigger = 100;
  4. 图像采集对象开始——调用开始函数图像采集对象开始。

    开始(vid)
  5. 验证图像但不运行日志记录——使用正在islogging函数来确定视频输入对象的当前状态。与手动触发,视频输入对象在运行状态后开始但不开始登录数据,直到触发执行。

    正在(vid) ans = 1 islogging (vid) ans = 0
  6. 执行手动触发——调用触发函数执行手动触发。

    触发(vid)

    在收购的同时,检查日志视频输入对象的状态。

    islogging (vid) ans = 1

    后获得指定数量的帧,视频输入对象停止运行。

    正在(vid) ans = 0
  7. 清理总是删除图像采集对象从内存中,引用它们的变量,当你不再需要他们。

    删除(vid)清晰的视频