而在国内,虽然MATLAB具有昂贵的价格(学术版的估计也要好几千吧,具体不清楚),但恐怕也是众多搞学术的人的首选平台(原因嘛?呵呵,你懂得)。
既然MATLAB和Python各有各的优势,那能不能将二者的优势结合呢?也就是说能不能将二者的命令相互调用呢??
当然能!!!在最新的MATLAB里,我们可以使用大部分(根据MATLAB官方文档)的Python命令(估计是mathworks看到了Python的某些优势,害怕若干年后使用MATLAB的用户越来越少,因为现在MATLAB的好多(注意,并不是全部)功能Python基本都可取代)。
温馨提示:如果是MATLAB和Python的初学者的话,除了某些特殊的功能非要用MATLAB不可,否则建议学习Python。
下面就来说说如何在MATLAB里调用Python吧。
环境配置(Windows系统)
我用的MATLAB是最新的(好像只有MATLAB R2015a以后的版本才行)。
1、首先安装好MATLAB;
2、安装Python32/64(要与你的MATLAB一致,否则不兼容),这里建议安装Anaconda32/64,因为可以省去好多安装Python第三方模块的时间。
3、将安装好的Python可执行文件路径加到你MATLAB的工具箱搜索路径中(我的是安装在E盘下的,MATLAB会自动加入其下的子目录),并“保存(save)”即可,如下图所示:
测试
以下截图是测试在MATLAB中调用Python的cv2(见这里Python-OpenCV)模块进行图像的读取并显示的(这里仅作演示配置是否成功,实际中用MATLAB的图像处理工具箱更方便)。
其中,py.cv2类似于Python的import cv2,其它的跟Python没啥区别。
相应的Python代码为:
>>> import cv2 >>> image = cv2.imread('G:\img\lena.jpg') >>> cv2.imshow('Lena',image) >>> cv2.waitKey(0)
运行结果:
这里要说明的是当我们在MATLAB中运行一次py.*之类的语句后,当我们再次输入py.并同时点击Tab键,会自动出现当前可调用的Python模块(函数)