在学习深度学习的过程中,想要实现图像识别和串口输出分别进行,也就是两个循环。这样输出不会影响图像识别的效率。
(实测在串口外接一个设备,如果把串口输出信息的代码写在图像识别的循环里,如果输出边出现信号传递的延迟,那么会造成图像识别的卡顿)
一个循环while不停进行帧数获取,并且识别得到结果,把对应的结果输出在一个txt文件中;
另一个循环while通过if分析得到的识别结果,并且对应不同串口输出信息。
例如
if label=='红'
c = 2;
end
cd('c:\picture\');
fopen('memory.txt','w');
awrite = fopen('memory.txt','w');
fprintf(awrite,'%4.0f',c);
(以上为:当识别为红时,在memory.txt中记录3,若识别为其他时,将3替换记录为其他的值,实时刷新)
以下为多开的第二个matlab中运行的代码:
while 1
c = load("memory.txt");
if c == 2
fwrite(s,dataA,"uint8");
end
end
但是这样做,会报错以下:
现在无法访问以前可访问的文件
"K:\matlab\toolbox\matlab\parallel+parallel+internal+pool\isPoolWorker.m"。
经过多次测试,应该是两个循环同时读取到memory.txt文件所致。
故有什么办法或者函数,能让二者同时读取这个文件,或者有其他隔离图像识别和输出的好办法吗