gpt4 book ai didi

c++ - iOS中Opencv人脸检测Cascade编译器报错

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:53:07 24 4
gpt4 key购买 nike

在我的 IOS 项目中我实现了一个 tesseract 示例,在这个示例中我需要集成 opencv。我用过this sample project ,它有默认的 tesseract 和 opencv。

但是我尝试使用下面的代码在这个项目中实现人脸检测,

 NSString* cascadePath = [[NSBundle mainBundle]
pathForResource:@"haarcascade_frontalface_alt"
ofType:@"xml"];
faceDetector.load( [cascadePath UTF8String] );

但是我得到以下错误:

Undefined symbols for architecture armv7:
"cv::CascadeClassifier::load(std::string const&)", referenced from:
-[ViewController viewDidLoad] in ViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

现在在build设置中 -> C++ 编译器 -> 选择“默认编译器”。我尝试了此 link 中的编译器设置.如果我这样设置,“Tesseract”代码就会出错。

创建的 faceDetector 如下:

@interface ViewController : UIViewController<UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIActionSheetDelegate>{
UIImagePickerController *mediaPicker;
UIImage *takenImage;
UIImage *processedImage;
cv::CascadeClassifier faceDetector;
}

我该如何解决这个问题?

最佳答案

删除您现有的“opencv2.framework”(与您的 xcode 项目一起出现的那个)

将其替换为 official one

注意:它不包含“armv7s”的符号。它仍然可以在模拟器和实际设备上运行。

关于c++ - iOS中Opencv人脸检测Cascade编译器报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24822949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com