photo_analyzer 0.0.6 copy "photo_analyzer: ^0.0.6" to clipboard
photo_analyzer: ^0.0.6 copied to clipboard

A Flutter package for photo analyzer that detects faces, estimates age and gender, and classifies NSFW (Not Safe for Work) content. This package uses advanced algorithms to analyze images and extract [...]

example/lib/main.dart

import 'package:flutter/material.dart';
import 'dart:async';

import 'package:flutter/services.dart';
import 'package:photo_analyzer/photo_analyzer.dart';

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

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

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  List<Uint8List> bytesList = [];
  final _photoAnalyzerPlugin = PhotoAnalyzer();

  @override
  void initState() {
    super.initState();
    initPlatformState();
  }

  Future<void> initPlatformState() async {
    try {
      await _photoAnalyzerPlugin.initialize();
    } on PlatformException catch (e) {
      debugPrint(e.toString());
    }
  }

  Future<void> detectNSFW() async {
    try {
      final ByteData data = await rootBundle.load('assets/nsfw.jpeg');
      final Uint8List imageData = data.buffer.asUint8List();
      final result = await _photoAnalyzerPlugin.nsfwDetection(image: imageData);

      debugPrint(result);
    } on PlatformException catch (e) {
      debugPrint(e.toString());
    }
  }

  Future<void> detectFace() async {
    try {
      final ByteData data = await rootBundle.load('assets/group.jpg');
      final Uint8List imageData = data.buffer.asUint8List();
      final result = await _photoAnalyzerPlugin.detectFaces(image: imageData);
      setState(() {
        bytesList = result.cast<Uint8List>();
      });
    } on PlatformException catch (e) {
      debugPrint(e.toString());
    }
  }

  Future<void> detectGender() async {
    try {
      final ByteData data = await rootBundle.load('assets/nsfw.jpeg');
      final Uint8List imageData = data.buffer.asUint8List();
      final result =
          await _photoAnalyzerPlugin.genderPrediction(image: imageData);

      debugPrint(result);
    } on PlatformException catch (e) {
      debugPrint(e.toString());
    }
  }

  Future<void> detectAge() async {
    try {
      final ByteData data = await rootBundle.load('assets/nsfw.jpeg');
      final Uint8List imageData = data.buffer.asUint8List();
      final result = await _photoAnalyzerPlugin.agePrediction(image: imageData);
      debugPrint(result);
    } on PlatformException catch (e) {
      debugPrint(e.toString());
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: SingleChildScrollView(
          physics: const BouncingScrollPhysics(),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.stretch,
            children: [
              if (bytesList.isNotEmpty)
                ListView.builder(
                  physics: const NeverScrollableScrollPhysics(),
                  itemCount: bytesList.length,
                  shrinkWrap: true,
                  itemBuilder: (context, index) {
                    return Image.memory(bytesList[index]);
                  },
                ),
              ElevatedButton(
                onPressed: () {
                  detectNSFW();
                },
                child: const Text('Detect NSFW'),
              ),
              ElevatedButton(
                onPressed: () {
                  detectFace();
                },
                child: const Text('Detect Face'),
              ),
              ElevatedButton(
                onPressed: () {
                  detectGender();
                },
                child: const Text('Detect Gender'),
              ),
              ElevatedButton(
                onPressed: () {
                  detectAge();
                },
                child: const Text('Detect Age'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
1
likes
0
points
20
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package for photo analyzer that detects faces, estimates age and gender, and classifies NSFW (Not Safe for Work) content. This package uses advanced algorithms to analyze images and extract relevant data for face detection, demographic estimation, and content filtering.

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on photo_analyzer

Packages that implement photo_analyzer