OpenCV级联分类器iOS 7

时间:2014-01-04 07:24:13

标签: ios opencv

我尝试编写一个人脸检测应用程序来熟悉OpenCV for iOS,但Cascade Classifier不起作用。这是代码:

    - (void)processImage:(cv::Mat &)image
    {
        cv::Mat grayImage;
        std::vector<cv::Rect> faces;

        cv::cvtColor(image, grayImage, CV_BGR2GRAY);
        cv::equalizeHist(grayImage, grayImage);
        self.faceDetector.detectMultiScale(grayImage, faces);

        for (std::vector<cv::Rect>::iterator it = faces.begin(); it != faces.end();
              it++)
            cv::rectangle(image, *it, cv::Scalar(0,255,0));
    }

我已经检查过加载了级联分类器并且图像是非空的。调试器显示即使在调用detectMultiScale之后faces为空。我正在使用haarcascade_frontalface_default.xml来加载我的分类器。图片here

修改

根据lightalchemist和berak的建议,我尝试使用haarcascade_frontalface_althaarcascade_frontalface_alt2并切换图片,但它不起作用。 faces.isEmpty()即使在调用detectMultiscale后也会返回true。

当我尝试为Mac编译它时它完美无缺。这可能是iOS 7 / OpenCV的错误吗?

0 个答案:

没有答案