|
自己弄了一天,没什么头绪,提出来希望于老师和其他朋友帮帮忙。
opencv上是直接调用cvload函数载入人脸分类器,但是在emcv里面没有移植这个函数。
现在的路我觉得有2条:
一是自己载入数据,利用ccs里面的file-》data-》load载入分类器数据。
问题有:opencv是怎样使用这些数据的?源代码很简单cascade = (CvHaarClassifierCascade*)cvLoad(cascade_name, 0, 0, 0),直接返回分类器类型的指针,然后在检测函数里面使用该指针。具体xml文件里面的数据是怎么使用的,并不清楚。也就是说假如我向导入了分类器的数据,接下来再怎么通过opencv使用这些数据?希望有经验的朋友指点一下。
第二条路就是坚定不移的移植opencv - -!
这也是我目前在做的,cvload函数里面调用了不少其他的函数,那么要做的事情就是再一步步把这些函数移植过去,现在我遇到一个问题,在icvDoubleToString函数中使用了Cv64suf,而Cv64suf的定义是
typedef union Cv64suf
{
int64 i;
uint64 u;
double f;
}
前两个数据结构在opencv里面的定义是:
#if defined _MSC_VER || defined __BORLANDC__
typedef __int64 int64;
typedef unsigned __int64 uint64;
#else
typedef long long int64;
typedef unsigned long long uint64;
#endif
但是ccs并没有定义long long类型,这里要自己定义或者调整数据类型,但是具体要怎么做呢?icvDoubleToString函数看不太明白。。期待高人出现指点。。
谢谢! |
|