随着python的流行,matlab逐渐支持python的部分功能。
python在字符串处理和文件读写上比matlab方便许多,在这些场景下使用python显然更省事。
下面介绍如何在matlab中调用python的接口。
示例代码
main.m
1 | root_dir = '/data3/Human36M/Bbox/S%d/MySegmentsMat/ground_truth_bb'; |
getBbox.m
1 | function [ start_x , start_y, end_x,end_y ] = getBbox( I ) |
代码注释
1 | fileList = py.os.listdir(cur_dir); |
在matlab中,调用python接口需要统一的py.
,在使用listdir之后,matlab中返回值是py.list类型,需要将其转换为cell类型才能在matlab中使用。
同样的,返回的字符串是py.str类型,需要用char进行类型转换。
1 | if ~py.os.path.exists(save_cur_dir) |
这里使用python中的os.path.exists()判断文件是否存在,在matlab中的返回值为0或者1。