查看单个帖子
旧 2019-12-10, 16:49   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何使用MATLAB定时采集图像?

我是MATLAB的初学者,我想知道如何以5秒的间隔从相机获取和保存20张图像。非常感谢你。


回答:
要获取图像,相机是否具有某种记录的方法可以从计算机进行控制? MATLAB支持链接到外部库 。或者,您可以按照MatlabDoug的建议购买合适的MATLAB工具箱。

要保存图像, IMWRITE可能是最简单的选择。

要重复该操作,只需执行一个带有暂停的简单FOR循环,只需很少的工作即可大致获得所需的内容:

for ctr = 1:20 img = AcquireImage(); % your function goes here fname = ['Image' num2str(ctr)]; % make a file name imwrite(img, fname, 'TIFF'); pause(5); % or whatever number suits your needs end 但是,如果需要精确的5秒间隔,则必须深入TIMER 。这是一个简单的例子:

function AcquireAndSave persistent FileNum; if isempty(FileNum) FileNum = 1; end img = AcquireImage(); fname = ['Image' num2str(FileNum)]; imwrite(img, fname, 'TIFF'); disp(['Just saved image ' fname]); FileNum = FileNum + 1; end >> t = timer('TimerFcn', 'ShowTime', 'Period', 5.0, 'ExecutionMode', 'fixedRate'); >> start(t); ...you should see the disp line from AcquireAndSave repeat every 5 seconds... >> stop(t); >> delete(t);

更多&回答...
poster 当前离线   回复时引用此帖