【问题标题】:how could find code of Matlab mex file?如何找到 Matlab mex 文件的代码?
【发布时间】:2016-08-03 04:36:13
【问题描述】:

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

【问题讨论】:

标签: c++ matlab opencv mex


【解决方案1】:

输入using可以看到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 代码,通常速度更快。

【讨论】:

    【解决方案2】:

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

    which('imrotate')
    which imrotate
    

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

    which imrotate -all
    

    当然,如果代码被混淆(pcodeshared library 或其他),则无需编辑太多。

    【讨论】:

      【解决方案3】:

      在我查看了前两个答案之后。命令

      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是一个c文件在matlab中编译的文件,所以我们不能直接编辑它。(?留这个问题)

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

      问候, 林

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-08-17
        • 1970-01-01
        • 1970-01-01
        • 2015-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多