首页 > 解决方案 > Imageview 中的 OpenCV 人脸检测

问题描述

在我的 Android 工作室项目中,我遇到了一个严重的问题。我想使用 OpenCV 在导入的图像中检测人脸。

问题是,当应用程序运行时它什么也不返回,甚至没有错误。

这是我的按钮的代码。

            imgImportedImage.setDrawingCacheEnabled(true);
            imgImportedImage.buildDrawingCache();
            Bitmap bitmapOfImage = imgImportedImage.getDrawingCache();

            Mat mmGray = new Mat();
            Utils.bitmapToMat(bitmapOfImage, mmGray);

            MatOfRect faces = new MatOfRect();

            if (mAbsoluteFaceSize == 0) {
                int height = mmGray.rows();
                if (Math.round(height * mRelativeFaceSize) > 0) {
                    mAbsoluteFaceSize = Math.round(height * mRelativeFaceSize);
                }
            }

            CascadeClassifier mDetector = new CascadeClassifier();
            mDetector.load("haarcascade_frontalface_default.xml");

            mDetector.detectMultiScale(mmGray, faces, 1.1, 3, 0, new Size(mAbsoluteFaceSize, mAbsoluteFaceSize), new Size());

            Rect[] facesArray = faces.toArray();

            for(int i = 0; i < facesArray.length; i++){
                Core.rectangle(mmGray, facesArray[i].tl(), facesArray[i].br(), FACE_RECT_COLOR, 2);
                Toast.makeText(FdActivity.this, String.valueOf(facesArray[i]), Toast.LENGTH_SHORT).show();
            }

标签: androidopencvface-detection

解决方案


推荐阅读