liveness_capture 0.0.1 copy "liveness_capture: ^0.0.1" to clipboard
liveness_capture: ^0.0.1 copied to clipboard

A Flutter package for face liveness detection with configurable challenge types and auto-capture. Detect real human presence using smile, blink, and head turns.

example/lib/main.dart

import 'package:camera/camera.dart';
import 'package:flutter/material.dart';
import 'package:liveness_capture/liveness_capture.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Live Photo Capture Demo',
      theme: ThemeData(colorSchemeSeed: Colors.indigo),
      home: const LivenessPage(),
    );
  }
}

class LivenessPage extends StatelessWidget {
  const LivenessPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Liveness Check')),
      body: FaceDetectorScreen(
        ruleset: const [
          Rulesets.normal,
          Rulesets.smiling,
          Rulesets.blink,
          Rulesets.toLeft,
          Rulesets.toRight,
        ],
        activeProgressColor: Colors.green,
        progressColor: Colors.grey,
        onRulesetCompleted: (ruleset) {
          debugPrint('Completed ruleset: $ruleset');
        },
        onValidationDone: (CameraController? controller) {
          return ElevatedButton(
            onPressed: () async {
              if (controller == null) return;
              final photo = await controller.takePicture();
              debugPrint('Photo saved to: ${photo.path}');
            },
            child: const Text('Take Photo'),
          );
        },
        child: ({required state, required countdown, required hasFace}) {
          String message;
          switch (state) {
            case Rulesets.smiling:
              message = 'Please smile';
            case Rulesets.blink:
              message = 'Please blink';
            case Rulesets.toLeft:
              message = 'Look left';
            case Rulesets.toRight:
              message = 'Look right';
            case Rulesets.tiltUp:
              message = 'Tilt up';
            case Rulesets.tiltDown:
              message = 'Tilt down';
            case Rulesets.normal:
              message = 'Look straight ahead';
          }
          return Text(
            hasFace ? '$message ($countdown)' : 'Place your face in frame',
            style: const TextStyle(
              color: Colors.white,
              fontSize: 16,
              fontWeight: FontWeight.w600,
            ),
            textAlign: TextAlign.center,
          );
        },
      ),
    );
  }
}
4
likes
0
points
328
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package for face liveness detection with configurable challenge types and auto-capture. Detect real human presence using smile, blink, and head turns.

Repository (GitHub)
View/report issues

Topics

#face-detection #liveness #camera #biometrics #photo

License

unknown (license)

Dependencies

camera, camera_android, camera_avfoundation, flutter, google_mlkit_commons, google_mlkit_face_detection, permission_handler

More

Packages that depend on liveness_capture