Skip to content

3. Usage

Haroldo Shigueaki Teruya edited this page Aug 4, 2021 · 6 revisions

Face Detect

Detect allows you process images with the intent of detecting human faces.

import ai.cyberlabs.perse.sdk.Perse

fun detect(file: String) {
    val perse = Perse("API_KEY")

    perse.face.detect(
        file,
        { detectResponse ->
            // See the DetectResponse.
        },
        { error ->
            Log.d("Perse", error)
        }
    )
}

Face Compare

Compare accepts two sources for similarity comparison.

import ai.cyberlabs.perse.sdk.Perse

fun compare(firstFile, secondFile) {
    val perse = Perse("API_KEY")

    perse.face.compare(
        firstFile,
        secondFile,
        { compareResponse ->
            // See the CompareResponse.
        },
        { error ->
            Log.d("Perse", error)
        }
    )
}

Camera Integration

Do not forget request camera permission. Use like this in the your layout XML:

<ai.cyberlabs.perse.PerseCamera
  android:id="@+id/perse_camera"
  android:layout_width="match_parent"
  android:layout_height="match_parent" />

And inside your code:

perse_camera.startPreview()
perse_camera.perseEventListener = this.buildEventListener()
..
fun buildEventListener(): PerseEventListener = object : PerseEventListener {
..
    override fun onImageCaptured(
        count: Int,
        total: Int,
        imagePath: String,
        detectResponse: DetectResponse?
    ) {
        // YOUR CODE
    }

    override fun onFaceDetected(
        x: Int,
        y: Int,
        width: Int,
        height: Int,
        leftEyeOpen: Boolean,
        rightEyeOpen: Boolean,
        smiling: Boolean,
        headVerticalMovement: HeadMovement,
        headHorizontalMovement: HeadMovement,
        headTiltMovement: HeadMovement
    ) {
        // YOUR CODE
    }
..
}
Clone this wiki locally