image_background_remover 0.0.7 copy "image_background_remover: ^0.0.7" to clipboard
image_background_remover: ^0.0.7 copied to clipboard

A Flutter package that removes the background from images using an ONNX model.

Image Background Remover - Flutter #

A Flutter package that removes the background from images using an ONNX model. The package provides a seamless way to perform image processing, leveraging the power of machine learning through ONNX Runtime.


🌟 Features #

  • Remove the background from images with high accuracy.
  • Works entirely offline, ensuring privacy and reliability.
  • Lightweight and optimized for efficient performance.
  • Simple and seamless integration with Flutter projects.
  • Add a custom background color to images.
  • Customizable threshold value for better edge detection.

🔭 Overview #

Overview

Getting Started #

🚀 Prerequisites #

Before using this package, ensure that the following dependencies are included in your pubspec.yaml:

dependencies:
  image_background_remover: ^latest_version

Usage #

Initialization #

Before using the removeBg method, you must initialize the ONNX environment: ```dart import 'package:image_background_remover/image_background_remover.dart';

@override
void initState() {
    super.initState();
    BackgroundRemover.instance.initializeOrt();
}

Remove Background #

To remove the background from an image:

import 'dart:typed_data';
import 'package:image_background_remover/image_background_remover.dart';

Uint8List imageBytes = /* Load your image bytes */;
ui.Image resultImage = await BackgroundRemover.instance.removeBg(imageBytes);
/* resultImage will contain image with transparent background*/

🆕 New Feature: Add Background Color #

You can now add a custom background color to images after removing the background.

Usage: #

Uint8List modifiedImage = await BackgroundRemover.instance.addBackground(
  image: originalImageBytes,
  bgColor: Colors.white, // Set your desired background color
);

API #

Methods #

Method Description Parameters Returns
initializeOrt() Initializes the ONNX runtime environment. Call this method once before using removeBg. None Future<void>
removeBg(Uint8List imageBytes, { double threshold = 0.5, bool smoothMask = true, bool enhanceEdges = true }) Removes the background from an image. imageBytes - The image in byte array format.

threshold - The confidence threshold for background removal (default: 0.5). A higher value removes more background, while a lower value retains more foreground.

smoothMask - Whether to apply bilinear interpolation for smoother edges (default: true).

enhanceEdges - Whether to refine mask boundaries using gradient-based edge enhancement (default: true).
Future<ui.Image> - The processed image with the background removed.
addBackground({required Uint8List image, required Color bgColor}) Adds a background color to the given image. image - The original image in byte array format.
bgColor - The background color to be applied.
Future<Uint8List> - The modified image with the background color applied.

⚠️ Warning #

This package uses an offline model to process images, which is bundled with the application. This may increase the size of your app.

🔗 Contributing #

Contributions are welcome! If you encounter any issues or have suggestions for improvements, feel free to create an issue or submit a pull request.

☕ Support This Project #

If you find this package helpful and want to support its development, you can buy me a coffee! Your support helps maintain and improve this package. 😊

Buy Me A Coffee

37
likes
150
points
1.13k
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package that removes the background from images using an ONNX model.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter, image, onnxruntime

More

Packages that depend on image_background_remover