首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kinect的初学者- matlab : Kinect没有开始

kinect的初学者- matlab : Kinect没有开始
EN

Stack Overflow用户
提问于 2014-12-23 13:17:41
回答 1查看 392关注 0票数 0

你好,我试图在matlab环境中设置kinect1,即使我有捕获深度的预览,也无法从kinect获取联合坐标。在预览中,它写着“等待开始”,而我实际上开始了视频。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-23 13:32:14

有两个不同的特性您不想混淆:

  1. 有预览功能。通过调用preview(vid),将打开预览窗口并运行摄像机。预览是在那里帮助您设置您的相机,指向正确的地点等。当你完成了,手动关闭预览或通过closepreview(vid)
  2. 当您准备好进行图像采集时,请调用start(vid)。使用img = getdata(vid,1),您可以从相机中读取1帧并将其保存到img中。当你完成收购后,打电话给close(vid),让它停下来。

一旦start被调用,相机本身就会开始捕获图像,所以即使在调用start之后等待几秒钟,第一个图像也将是当时捕获的图像。有几个属性控制着vid的获取,最好看一看的所有属性。

您可以通过首先设置triggerconfig(vid,'manual'),然后启动相机,最后调用trigger(vid)来拍摄图像,手动指定一个触发器来拍摄图像。

调用starttrigger后获得的帧数由vidFramesPerTrigger参数指定。若要连续获取图像,请将其设置为inf。可以使用getdata读取任意数目的帧,例如getdata(vid,5);。请注意,这只有当5帧实际上是在相机上可用时才有效。您可以从FramesAvailable属性vid获得可用帧数。

您可以将图像采集放到for循环中,以连续获取图像。

代码语言:javascript
复制
n = 1000;
vid = videoinput('kinect',2);
set(vid,'FramesPerTrigger',n);
start(vid);
for k=1:n
    img = getdata(vid,1);
    % do magic stuff with img
end
stop(vid);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27621196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档