从Python Pass Args运行MATLAB脚本



我正在寻找来自Python的Matlab。我需要使用MATLAB图像采集工具箱从摄像机中获取一些图像。

matlab似乎是一个不错的解决方案,因为图像采集很容易,然后我必须进行一些图像处理。我已经搜索了很长时间,但我仍然没有发现任何工作用python做到这一点。

这是我的一些尝试:


mlabwrap 1.1-运行matlab -script:

matlab脚本类似:

vid = videoinput('testadaptor');
img = getsnapshot(vid);
imwrite(img,'./image.png','png');

您可以通过以下方式运行此脚本:

mlab.run('script.m')

但是,在哪里通过一些参数(目录,图像描述等)?由于MlabWraps糟糕的纪录片,我什么都没找到。我使用了mlab.lookfor("感兴趣的主题")功能而没有成功


MLABWRAP 1.1-使用MLAB功能:

图像acqusisition

一见钟情,没有可能读取"视频输入对象",没有诸如:

之类的功能
image = getsnapshot(video input object)
imwrite(image,'directioryimage.png','png')

Python-Matlab-Bridge

https://github.com/jaderberg/python-matlab-bridge

我有Windows7 64位为OS。他们说,它只能在Unix上工作。


nipype

http://nipy.sourceforge.net/nipype/api/generated/nipype.interfaces.matlab.html

似乎很新。我没有尝试安装它。我猜这似乎很适合我的问题,但不适合Windows。


pymat

否Python 2.7支持


所以有人可以帮助我吗?

虽然我对python-matlab-bridge,nipype或pymat不太熟悉,但我已经与mlabwrap做了很多工作,我会尝试回答您关于该软件包的问题。

首先,如果您在功能而不是脚本方面工作会容易得多。让我们在myFunction.m中重新销售您的MATLAB脚本作为功能:

function myFunction(v_input, directory, file_name)
    vid = videoinput(v_input);
    img = getsnapshot(vid);
    location = [directory file_name]
    imwrite(img, location,'png');

您可以使用mlabwrap.mlab从Python调用此函数,并将字符串传递给函数参数。所有MATLAB功能,包括用户定义的功能,都可以作为mlabwrap.mlab模块的属性提供。

>>> from mlabwrap import mlab
>>> mlab.myFunction('testadaptor', './', 'image.png')

mlabwrap将使您的字符串转换为MATLAB可读格式,并将其作为参数传递给您的功能。如果提出了AttributeError,则通常意味着您的功能不在MATLAB路径上。您可以使用命令添加:

>>> mlab.path(mlab.path(), 'C:functiondirectory')

正如警告性的那样,MlabWrap将自动转换一些参数类型,例如python和Matlab之间来回的字符串或numpy阵列。但是,有许多类型,例如MATLAB结构和类,无法转换。在这种情况下,它将从MATLAB函数返回MLabObjectProxy。这些代理对象不能用python操纵或转换为python类型,但是可以成功地将MLABWRAP传递到其他MATLAB函数中。通常,对于具有复杂输出的函数,最好将该输出写入MATLAB函数中的文件,并从Python端的文件中导入数据。祝你好运!

  1. Python/OpenCV:您可以使用本机解决方案从视频设备获取图像。使用OpenCV,您甚至可以进行实时图像处理。
  2. matlab_wrapper:假设您有一个MATLAB 函数(不是脚本)接受某个参数并返回图像数组,例如[img] = get_image(some_parameter),您可以写下这样的东西:
matlab = matlab_wrapper.MatlabSession()
img = matlab.workspace.get_image(some_parameter)

免责声明:我是Matlab_wrapper的作者