kongqw/OpenCVForAndroid

 
 

Repository files navigation

运行Demo前请先安装 OpenCV Manager (必须!!) 并给Demo授予CAMERA权限


Step 1. Add the JitPack repository to your build file

Add it in your root build.gradle at the end of repositories:

Step 2. Add the dependency

Step 3. Add it in your app build.gradle

Step 4. Set screen orientation in your AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest ……>

    <application
        ……>
        <activity
            ……
            android:screenOrientation="landscape">
            ……
        </activity>
    </application>

</manifest>
<com.kongqw.view.CameraFaceDetectionView
        android:id="@+id/cameraFaceDetectionView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
CameraFaceDetectionView cameraFaceDetectionView = (CameraFaceDetectionView) findViewById(R.id.cameraFaceDetectionView);
cameraFaceDetectionView.setOnFaceDetectorListener(new CameraFaceDetectionView.OnFaceDetectorListener() {
    @Override
    public void onFace(Mat mat, Rect rect) {

    }
});
mCameraFaceDetectionView.setOnOpenCVInitListener(new OnOpenCVInitListener() {
    @Override
    public void onLoadSuccess() {
        Log.i(TAG, "onLoadSuccess: ");
    }

    @Override
    public void onLoadFail() {
        Log.i(TAG, "onLoadFail: ");
    }

    @Override
    public void onMarketError() {
        Log.i(TAG, "onMarketError: ");
    }

    @Override
    public void onInstallCanceled() {
        Log.i(TAG, "onInstallCanceled: ");
    }

    @Override
    public void onIncompatibleManagerVersion() {
        Log.i(TAG, "onIncompatibleManagerVersion: ");
    }

    @Override
    public void onOtherError() {
        Log.i(TAG, "onOtherError: ");
    }
});
mCameraFaceDetectionView.loadOpenCV(getApplicationContext());
mCameraFaceDetectionView.switchCamera();
boolean isSave = FaceUtil.saveImage(Context context, Mat mat, Rect rect, String fileName);
boolean isSave = FaceUtil.deleteImage(Context context, String fileName);

用于显示,对比直接调用 FaceUtil.compare 即可。

Bitmap bitmap = FaceUtil.getImage(Context context, String fileName);

特征文件不存在没有抛异常,返回-1.

double score = FaceUtil.compare(Context context, String fileName1, String fileName2);