我必须通过 Zhu Ramanan 使用人脸检测算法在网络应用程序中。他们提供了 Matlab 中的代码,主要计算是用 C++ 完成的。由于我是图像处理和 matlab 的新手,我无法理解如何继续使用我的网络应用程序运行它。
我发现Matlab代码可以通过coder函数移植到c++。所以我尝试在 matlab 中使用编码器功能,它打开了一个构建菜单,其中我选择了 C/C++ 可执行文件。但是当代码加载 .mat 文件时构建会卡住。它给出以下错误-
Function 'load' implicitly resolved in the MATLAB workspace. Implicit evaluation
in MATLAB is not supported. Please declare this function extrinsic using
coder.extrinsic('load'), or call it using feval.
但是 coder.extrinsic 和 feval 都不兼容 C++。
我还阅读了有关从 php 执行 matlab 文件的可能性,但这将是一个非常缓慢的过程(如果我错了请纠正我)。
任何人都可以建议我是否出错和/或我应该如何进行。
最佳答案
Zhu 和 Ramanan 的代码使用学习模型来检测面部和面部的基准点。学习到的参数存储在 Matlab 使用的 mat
格式的二进制文件中。似乎编码器无法移植读取此文件的 load
命令。
为了解决这个问题,恐怕你得亲自动手。您需要用不同的格式替换 mat
文件并相应地更改代码。
使用 load
读取 matlab 中的 mat
文件,并将其转换为您选择的不同格式。更改代码以使用更多基本命令(例如,fopen
、fread
等)读取新文件,然后使用编码器移植修改后的代码。
关于php - 在 Web 应用程序中使用 Zhu Ramanan 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20088797/