1

我刚刚将我的 iOS 项目更新到版本 OpenCV 3.0,每当我尝试加载 haarcascade 文件时,我都会收到断言失败。

以前版本的 OpenCV 工作正常,我获取路径和加载文件的方式没有改变(见下文),它似乎不适用于 3.0 版

NSString *faceCascadePath = [[NSBundle mainBundle] pathForResource:kFaceCascadeFilename ofType:@"xml"];
_faceCascade.load([faceCascadePath UTF8String])

我还尝试修改读取文件的方式(我在下面找到的另一个示例)。

const CFIndex CASCADE_NAME_LEN = 2048;
char *CASCADE_NAME = (char *) malloc(CASCADE_NAME_LEN);
CFStringGetFileSystemRepresentation( (CFStringRef)faceCascadePath, CASCADE_NAME, CASCADE_NAME_LEN);

但是再一次无济于事...

任何建议将不胜感激。

C。

4

1 回答 1

0

好的,我在一个单独的线程中运行“detectMultiScale”并尝试在主 ViewDidLoad 中加载 haarcascade 文件。

在进行实际检测的线程中移动负载,它似乎修复了它。

仍然不确定为什么以前的版本没有受到影响。

于 2015-03-31T10:21:08.990 回答