Skip to content

Instantly share code, notes, and snippets.

val options = FirebaseVisionFaceDetectorOptions.Builder().build()
val detector = FirebaseVision.getInstance().getVisionFaceDetector(options)
private fun runDetector(bitmap: Bitmap) {
val image = FirebaseVisionImage.fromBitmap(bitmap)
val options = FirebaseVisionFaceDetectorOptions.Builder()
.build()
val detector = FirebaseVision.getInstance()
.getVisionFaceDetector(options)
detector.detectInImage(image)
.addOnSuccessListener { faces ->
processFaceResult(faces)
}.addOnFailureListener {
class GraphicOverlay(context: Context, attrs: AttributeSet) : View(context, attrs) {
private val mLock = Any()
private var mPreviewWidth: Int = 0
private var mWidthScaleFactor = 1.0f
private var mPreviewHeight: Int = 0
private var mHeightScaleFactor = 1.0f
private var mFacing = CameraSource.CAMERA_FACING_BACK
private val mGraphics = HashSet<Graphic>()
/**
class RectOverlay(private val graphicOverlay: GraphicOverlay,
private val rect: Rect) : GraphicOverlay.Graphic(graphicOverlay) {
private val RECT_COLOR = Color.RED
private val strokeWidth = 4.0f
private val rectPaint: Paint = Paint()
init {
rectPaint.color = RECT_COLOR
rectPaint.style = Paint.Style.STROKE
<com.aligkts.facedetection.GraphicOverlay
android:id="@+id/graphic_overlay"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
private fun processFaceResult(faces: MutableList<FirebaseVisionFace>) {
faces.forEach {
val bounds = it.boundingBox
val rectOverLay = RectOverlay(graphic_overlay, bounds)
graphic_overlay.add(rectOverLay)
}
alertDialog.dismiss()
}
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
data class UserResponse(
@field:SerializedName("documents")
val documents: List<DocumentsItem?>? = null
)