advanced_image_processing_toolkit 0.1.2 copy "advanced_image_processing_toolkit: ^0.1.2" to clipboard
advanced_image_processing_toolkit: ^0.1.2 copied to clipboard

Plugin for advanced image processing, featuring real-time filters, object recognition, and AR capabilities.

Advanced Image Processing Toolkit #

A comprehensive Flutter package for advanced image processing, featuring real-time filters, object recognition, and AR capabilities.

Features #

Image Filters #

  • ✅ Grayscale conversion
  • ✅ Gaussian blur
  • ✅ Brightness adjustment
  • ✅ Sepia tone
  • ✅ Color inversion
  • ✅ Vignette effect
  • ✅ Watercolor effect
  • ✅ Oil painting effect
  • ✅ Custom filter chains

Object Recognition #

  • ✅ Real-time object detection
  • ✅ Face detection with landmarks
  • ✅ Pose estimation
  • ✅ Text recognition (OCR)
  • ✅ Multiple object tracking
  • ✅ Confidence scoring
  • ✅ Bounding box calculation
  • ✅ Detailed object information

Augmented Reality #

  • ✅ AR session management
  • ✅ 3D model placement
  • ✅ Surface detection
  • ✅ Real-world scale adjustment
  • ✅ Platform-specific optimizations

Installation #

Add the package to your pubspec.yaml:

dependencies:
  advanced_image_processing_toolkit: ^0.1.2

For AR features, add these optional dependencies:

dependencies:
  arkit_plugin: ^1.0.7 # iOS AR
  arcore_flutter_plugin: ^0.1.0 # Android AR

Usage #

Initialize the Toolkit #

await AdvancedImageProcessingToolkit.initialize(
  enableObjectDetection: true,
  enableAR: true,
);

Apply Image Filters #

// Grayscale
final grayscaleImage = await ImageFilters.applyGrayscale(imageBytes);

// Blur
final blurredImage = await ImageFilters.applyBlur(imageBytes, sigma: 5.0);

// Brightness
final brightImage = await ImageFilters.adjustBrightness(imageBytes, factor: 0.5);

// Sepia
final sepiaImage = await ImageFilters.applySepia(imageBytes);

// Invert
final invertedImage = await ImageFilters.applyInvert(imageBytes);

// Vignette
final vignetteImage = await ImageFilters.applyVignette(
  imageBytes,
  intensity: 0.5,
  radius: 0.5,
);

// Watercolor
final watercolorImage = await ImageFilters.applyWatercolor(
  imageBytes,
  radius: 5,
  intensity: 0.5,
);

// Oil Painting
final oilPaintingImage = await ImageFilters.applyOilPainting(
  imageBytes,
  radius: 4,
  levels: 20,
);

Object Recognition #

// Detect objects
final detections = await ObjectRecognition.detectObjects(imageBytes);

// Draw bounding boxes
final annotatedImage = await ObjectRecognition.drawDetections(
  imageBytes,
  detections,
);

// Access detection details
for (final detection in detections) {
  print('Label: ${detection.label}');
  print('Confidence: ${detection.confidence}');
  print('Bounding Box: ${detection.boundingBox}');
  if (detection.additionalData != null) {
    print('Additional Data: ${detection.additionalData}');
  }
}

Augmented Reality #

// Check AR support
if (AugmentedReality.isARSupported()) {
  // Start AR session
  await AugmentedReality.startARSession();
  
  // Place 3D model
  await AugmentedReality.placeModel(
    modelPath: 'assets/model.glb',
    position: [0, 0, -1],
    scale: 1.0,
    rotation: [0, 0, 0],
  );
  
  // Stop AR session
  await AugmentedReality.stopARSession();
}

Platform Support #

  • ✅ Android
  • ✅ iOS
  • ✅ Web (limited features)
  • ✅ macOS (limited features)
  • ✅ Windows (limited features)
  • ✅ Linux (limited features)

Dependencies #

  • Flutter SDK: >=3.3.0
  • Dart SDK: >=3.0.0
  • image: ^4.1.3
  • camera: ^0.10.5+9
  • google_ml_kit: ^0.16.3
  • image_picker: ^1.0.7
  • logging: ^1.2.0
  • path_provider: ^2.1.2
  • permission_handler: ^11.3.0
  • google_mlkit_text_recognition: ^0.11.0
  • google_mlkit_face_detection: ^0.8.0
  • google_mlkit_pose_detection: ^0.9.0

Contributing #

Contributions are welcome! Please feel free to submit a Pull Request.

License #

This project is licensed under the MIT License - see the LICENSE file for details.