繁体   English   中英

Python和Matlab之间的通信

[英]Communication between Python and Matlab

我有一些在Matlab中工作的计算机视觉系统。 当它检测到我要告诉Python它发现它的东西时。 只是是或否没有任何其他信息,但系统工作在无限循环中,所以我希望Python不断地以某种方式跟踪Matlab。

我想知道最简单的方法是什么。

例如,Matlab可以在桌面上创建一个Python将会看到并根据功能触发的文件。

如果您需要持续快速的通信,我建议您让Python应用程序侦听特定端口从MATLAB连接到该端口 然后,您可以双向交换信息。

如果找到某些东西,Matlab进程是否会退出特定的退出代码? 在这种情况下只需使用退出代码。 或者,只是让Matlab进程用它的输出写一个文件,然后你可以在python中创建一个观察器来检测文件中的变化。

最简单的方法是让Matlab在找到某些东西时创建一个空文件(除了输出文件本身)。 然后你可以使用os.path.exists()time.sleep继续检查文件是否定期存在:

import os
import time

path='/path/to/file/created/by/matlab'
while not os.path.exists(path):
    print("Matlab output file still not present. Waiting for 1 s and retrying...")
    time.sleep(1)
print("Matlab process generated output. Now I can do what I want to do")

如果您无法更改matlab脚本,那么您可以查看mlabwrap ,这是一个可以通过python调用matlab的模块。 另见这个答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM