09. 在Python环境下使用MATLAB函数

前提条件
① 安装着MATLAB
② 熟悉MATLAB函数的操作手法;

1. 在Python环境中使用MATLAB函数的配置

  在开启MATLAB进程之前,我们要知道MATLAB的安装目录,可以在MATLAB命令行中输入matlabroot来显示:

q13Ppt.png

  之后我们要在管理员模式下的命令行中做一些配置操作:

① 右键点击“开始”选择“Windows PowerShell (管理员)(A)”,复制我们刚才得到的MATLAB根目录地址'D:\MATLAB R2019b'

② 在PowerShell窗口中进入自己想要调用的python虚拟环境(此示例没有虚拟环境),方法为:输入:conda activate XXX,即可进入名字为XXX的虚拟环境;

③ 然后输入:cd "D:/MATLAB R2019b/extern/engines/python"并回车(注意D:\MATLAB R2019b要改成自己的MATLAB根目录地址),然后会得到如下结果:

q1uNt0.png

④ 再输入:python setup.py install,并回车即可完成配置操作。

⑤ 为了保证配置生效,我们到MATLAB中输入:pyversion,返回的executable是你想要使用的Python.exe即可,如下图所示:

qObwND.png

2. 正式使用例子

# 开启 MATLAB 进程
import matlab.engine
eng = matlab.engine.start_matlab()

  这样,我们就开启了一个名字为'eng'的MATLAB进程,让我们试试转换RGB图像为灰度图像,并将其取反的操作吧。

import numpy as np #用于产生匹配MATLAB矩阵的NDarray数据

path = './数据集/3.MNIST/测试/6 和 9.jpg' #要被转换的rgb图像路径
img = eng.imread(path) #用MATLAB函数imread来读取这个图像
gray = eng.rgb2gray(img) #将其转换为灰度图

A = 255 * np.ones((287,1645)) #产生匹配新得到灰度图的NDarray
A = np.matrix(A) #将上述NDarray转换类型为matrix
gray = A - gray #灰度图像反向

# 画出得到的图像
plt.figure(figsize=(15, 7))
plt.imshow(gray)

q1QG0H.png

3. 关闭MATLAB进程

  使用完MATLAB进程后当然要将其关闭啦,否则会一直占用内存。

# 关闭 MATLAB 进程
eng.exit()

或者

# 关闭 MATLAB 进程
eng.quit()
打赏
文章目录