火线图像采集getdata比getsnapshot慢

7视图(30天)
阿玛
阿玛 2013年4月24日
评论道: 马陆2020年8月14日
你好,
getdata函数工作比getsnapshot慢得多当我试着从我的AVT马林摄像头获取图像。
示例1 :如果我使用getsnapshot函数,帧速率> 25 fps
imaqreset
帧= 5
vid = videoinput (“avtmatlabadaptor_r2009b”,1“F7M0_Mono8_1280x1024”);
src = getselectedsource (vid);
从视频。FramesPerTrigger = 1;
从视频。TriggerRepeat =正;
从视频。ROIPosition = [1 1 10 10];
开始(vid)
抽搐;
j = 1:框架
data = getsnapshot (vid);
结束
tstop = toc;
帧速率=帧/ tstop
停止(vid)
示例2 :如果我使用getdata函数与手动触发,~ 1帧的帧速率减慢。
imaqreset
帧= 5
vid = videoinput (“avtmatlabadaptor_r2009b”,1“F7M0_Mono8_1280x1024”);
src = getselectedsource (vid);
从视频。FramesPerTrigger = 1;
从视频。TriggerRepeat =正;
从视频。ROIPosition = [1 1 10 10];
triggerconfig(视频,“手动”);
开始(vid)
抽搐;
j = 1:框架
触发(vid);
data = getdata (vid);
结束
tstop = toc;
帧速率=帧/ tstop
停止(vid)
为什么比示例2例1这么多?我认为手动触发会快得多。
谢谢!阿玛
1评论
马陆
马陆 2020年8月14日
你为什么在for循环触发?我认为你可能会覆盖的数据,这就是为什么它可能降低帧率。加上你也可以设置采集帧率的属性。
src。AcquisitionFrameRateEnable =“真正的”;
src。AcquisitionFrameRate = 60;

登录置评。

答案(1)

直到
直到 2013年9月5日
嗨,阿玛,
目前,我有同样的问题。我使用的代码基本上是相同的,与我引发的差异和一个计时器对象读取的视频对象。我也得到帧速率约为1。
有趣的是,当我使用预览功能视频对象是否正常工作我可以得到非常高的帧速率。
你找到解决这个问题吗?
最好的问候,
直到
1评论
马陆
马陆 2020年8月14日
这就跟你问声好!你可以手动设置视频的帧率obj属性:
src。AcquisitionFrameRateEnable =“真正的”;
src。AcquisitionFrameRate = 60;

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!