如何找到Matlab-mex文件的代码

how could find code of Matlab mex file?

本文关键字:代码 文件 Matlab-mex 何找      更新时间:2023-10-16

我想把Matlab的Imrotate函数转换成c++。Matlab在Imrotate中使用了一个mex文件(Imrotatemex)。如何找到Matlab-mex文件的代码?

您可以通过使用键入来查看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代码,通常速度更快。

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

which('imrotate')
which imrotate

如果您为其提供参数'-all',它将列出所有找到的参考:

which imrotate -all

当然,如果代码被混淆(pcode、共享库或其他),就没有太多可编辑的内容。

在我复习了前两个答案之后。命令

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 YES

在我搜索了一些结果后,mexmaci64是一个由matlab中的c文件编译的文件,因此我们不能直接编辑它。(?留作疑问)

从另一个方面来看,OpenCV可能有一些基于C.的实现

谨致问候,Lin