怎么能找到Matlab mex文件的代码?

时间:2016-08-03 04:36:14

标签: c++ matlab opencv mex

我想将Matlab的Imrotate函数转换为c ++。 Matlab在Imrotate中使用了mex文件(Imrotatemex)。 怎么能找到Matlab mex文件的代码?

3 个答案:

答案 0 :(得分:0)

您可以通过使用

键入来查看matlab使用的功能
edit imrotate

此外,文档说:

%   Performance Note
%   ----------------
%   This function may take advantage of hardware optimization for datatypes
%   uint8, uint16, and single to run faster.

在这种情况下,Matlab调用imrotatemex,即编译为从Matlab调用的C代码,通常更快。

答案 1 :(得分:0)

函数which显示指定项的完整路径,并支持matlab函数,java方法,工作空间变量以及当前工作文件夹或matlab路径中的任何文件:

which('imrotate')
which imrotate

如果您为其提供参数'-all',则会列出所有找到的参考文献:

which imrotate -all

当然,如果代码经过模糊处理(pcodeshared library或其他),则无需编辑。

答案 2 :(得分:0)

在我回顾了前两个答案之后。命令

which imrotatemex -all

给我结果:

/Applications/MATLAB_R2015a.app/toolbox/images/images/private/imrotatemex.mexmaci64%图片私密

如您所见,它位于私人文件中

参考本答案中的方法,我们有两种方法可以访问它: https://discussions.apple.com/thread/7583520?start=0&tstart=0

1.在finder中使用'Go'功能

使用路径/Applications/MATLAB_R2015a.app/toolbox/images/images/private /

2.使用终端并输入命令:

默认写com.apple.Finder AppleShowAllFiles是

我搜索了一些结果后,mexmaci64是一个由matlab中的c文件编译的文件,因此我们无法直接编辑它。(?留下这个问题)

另一方面,OpenCV可能有一些基于C的实现。

此致 林