我刚刚将我的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);
但又无济于事......
我们非常感谢任何建议。
下进行。
答案 0 :(得分:0)
好的想通了,我在一个单独的线程中运行“detectMultiScale”并尝试在主ViewDidLoad中加载haarcascade文件。
在执行实际检测的线程中移动了负载,它似乎修复了它。
仍然不确定为什么之前的版本没有受到影响。