我正在尝试在 MATLAB 中实现“基于 GrabCut 的对象分割技术”方法。为了最小化马尔可夫随机场能量函数,我使用这里提供的标准 Max-flow/min-cut 算法:http: //vision.csd.uwo.ca/code/
问题:当我尝试创建一个mex文件来调用MATLAB中的Graph创建和最小化函数时,我得到以下错误:
未定义符号:“Graph::Graph(int, int, void ( )(char ))”,引用自:GraphTest.o 中的_mexFunction
ld:未找到符号 collect2:ld 返回 1 个退出状态
mex:“GraphTest.mexmaci64”的链接失败。
我的代码真的很简单,只是复制了README文件中提到的部分代码如下:
#include "mex.h"
#include <stdio.h>
#include <math.h>
#include "graph.h"
void mexFunction(int nlhs, mxArray *plhs[],int nrhs, const mxArray *prhs[])
{
typedef Graph<int, int, int> GraphType;
GraphType *g = new GraphType(/*estimated # of nodes*/ 2, /*estimated # of edges*/1);
}
如果以前使用过此软件包或遇到过类似错误的任何人都可以提供有关该问题的一些见解,我将不胜感激。
提前致谢!