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

发布于 2014-12-23 13:32:14
有两个不同的特性您不想混淆:
preview(vid),将打开预览窗口并运行摄像机。预览是在那里帮助您设置您的相机,指向正确的地点等。当你完成了,手动关闭预览或通过closepreview(vid)。start(vid)。使用img = getdata(vid,1),您可以从相机中读取1帧并将其保存到img中。当你完成收购后,打电话给close(vid),让它停下来。一旦start被调用,相机本身就会开始捕获图像,所以即使在调用start之后等待几秒钟,第一个图像也将是当时捕获的图像。有几个属性控制着vid的获取,最好看一看的所有属性。
您可以通过首先设置triggerconfig(vid,'manual'),然后启动相机,最后调用trigger(vid)来拍摄图像,手动指定一个触发器来拍摄图像。
调用start或trigger后获得的帧数由vid的FramesPerTrigger参数指定。若要连续获取图像,请将其设置为inf。可以使用getdata读取任意数目的帧,例如getdata(vid,5);。请注意,这只有当5帧实际上是在相机上可用时才有效。您可以从FramesAvailable属性vid获得可用帧数。
您可以将图像采集放到for循环中,以连续获取图像。
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);https://stackoverflow.com/questions/27621196
复制相似问题