我是Matlab的新手,我目前正在研究Matlab代码,该代码可捕获图像并检测该图像上的浪费量。我已经有了捕获图像并在此图像上检测到浪费量的代码。 但是,此代码仅适用于一台摄像机。我不知道如何使此代码可用于多个摄像机,以便多个摄像机可以并行工作。
假设我安装了3台摄像机,而不是一台。使三台摄像机使用相同的代码并行运行的方式可能是什么。
答案 0 :(得分:0)
timer
的不同实例默认情况下会并行执行队列任务。
例如,使用
t1=timer;
t2=timer;
t3=timer; % Calling the constructor in separate occasions should create independent instances.
t1.StartDelay=2;
t2.StartDelay=3;
t3.StartDelay=5; % please print the fields to screen to see that t1, t2, t3 are not linked
[t1.TimerFcn, t2.TimerFcn, t3.TimerFcn]=deal(@(~,~)disp(num2str(toc)));
start(t1);start(t2);start(t3);tic
我的结果是
1.9977
3.005
5.0011
(如您所见,timer
并不十分精确。您应该看到不同但相似的结果。)
从结果中,您可以看到timer
默认是 ,即。每个TimerFcn
实例一次timer
的调用,将任务并行排队。如果不是这种情况,您应该在cmd中看到2、5、10。
因此,您可以在上面的示例中将TimerFcn
调整为适合您的上下文。如果您所处的环境有特殊问题,请在问题中指定在concrete, minimal, self-contained and reproducible example
对于定期呼叫,您可能必须调整'BusyMode'
字段或使用自定义的handler class。