Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/edufolly/flutter_mobile_vision

Flutter implementation of Google Mobile Vision.
https://github.com/edufolly/flutter_mobile_vision

Last synced: about 2 months ago
JSON representation

Flutter implementation of Google Mobile Vision.

Lists

README

        

# flutter_mobile_vision

[![Codacy Badge](https://api.codacy.com/project/badge/Grade/26accf32303f4260ab867afb2b664bcd)](https://app.codacy.com/app/edufolly/flutter_mobile_vision?utm_source=github.com&utm_medium=referral&utm_content=edufolly/flutter_mobile_vision&utm_campaign=badger) [![pub package](https://img.shields.io/pub/v/flutter_mobile_vision.svg)](https://pub.dartlang.org/packages/flutter_mobile_vision)

Flutter implementation for Google Mobile Vision.

Based on [Google Mobile Vision](https://developers.google.com/vision/).

[Android Samples](https://github.com/googlesamples/android-vision) -=- [iOS Samples](https://github.com/googlesamples/ios-vision)

Liked? :star: Star the repo to support the project!

## Features

* [x] Android
* [x] Barcode Scan
* [x] Front or Back camera.
* [x] Select preview sizes.
* [x] Simple scan.
* [x] Toggle torch.
* [x] Toggle auto focus.
* [x] Specify types of barcodes that will be read.
* [x] Tap to capture.
* [x] Select barcode type to be scanned.
* [x] Scan multiple barcodes.
* [x] Barcode coordinates.
* [x] Show barcode text.
* [x] Standard code.
* [x] Recognize Text
* [x] Front or Back camera.
* [x] Select preview sizes.
* [x] Simple OCR.
* [x] Toggle torch.
* [x] Toggle auto focus.
* [x] Multiple recognition.
* [x] Text language.
* [x] Text coordinates.
* [x] Hide recognized text.
* [x] Standard code.
* [x] Detect Faces
* [x] Front or Back camera.
* [x] Select preview sizes.
* [x] Simple detection.
* [x] Toggle torch.
* [x] Toggle auto focus.
* [x] Multiple detection.
* [x] Face coordinates.
* [x] Hide detection information.
* [x] Standard code.
* [x] Generalization of capture activities.
* [x] Choose between back and front camera.
* [x] Control camera FPS.

* [ ] iOS
* [ ] Barcode Scan
* [ ] _Future Tasks_
* [ ] Recognize Text
* [ ] _Future Tasks_
* [ ] Detect Faces
* [ ] _Future Tasks_

### Your feature isn't listed? Open a issue right now!

## Screenshots

## Usage

[Example](https://github.com/edufolly/flutter_mobile_vision/blob/master/example/lib/main.dart)

To use this plugin :

* add the dependency to your `pubspec.yaml` file:

```yaml
dependencies:
flutter:
sdk: flutter
flutter_mobile_vision: ^0.1.3
```

* add FlutterMobileVision.start() to initState():

```dart
@override
void initState() {
super.initState();
FlutterMobileVision.start().then((x) => setState(() {}));
}
```

or for a better implementation:

```dart
@override
void initState() {
super.initState();
FlutterMobileVision.start().then((previewSizes) => setState(() {
_previewBarcode = previewSizes[_cameraBarcode].first;
_previewOcr = previewSizes[_cameraOcr].first;
_previewFace = previewSizes[_cameraFace].first;
}));
}
```

-----

## Barcode

```dart
//...
List barcodes = [];
try {
barcodes = await FlutterMobileVision.scan(
flash: _torchBarcode,
autoFocus: _autoFocusBarcode,
formats: _onlyFormatBarcode,
multiple: _multipleBarcode,
waitTap: _waitTapBarcode,
showText: _showTextBarcode,
preview: _previewBarcode,
camera: _cameraBarcode,
fps: 15.0,
);
} on Exception {
barcodes.add(new Barcode('Failed to get barcode.'));
}
//...
```

### Android

For Android, you must do the following before you can use the plugin:

* Add the camera permission to your AndroidManifest.xml

``

``

* Add the Barcode activity to your AndroidManifest.xml (after other activity nodes)

``

### iOS

If you can help, the community thanks. Your fork is needed. :wink:

------

## OCR

```dart
//...
List texts = [];
try {
texts = await FlutterMobileVision.read(
flash: _torchOcr,
autoFocus: _autoFocusOcr,
multiple: _multipleOcr,
showText: _showTextOcr,
previewSize: _previewOcr,
preview: _previewOcr,
camera: _cameraOcr,
fps: 2.0,
);
} on Exception {
texts.add(new OcrText('Failed to recognize text.'));
}
//...
```

### Android

For Android, you must do the following before you can use the plugin:

* Add the camera permission to your AndroidManifest.xml

``

``

* Add the OCR activity to your AndroidManifest.xml (after other activity nodes)

``

### iOS

If you can help, the community thanks. Your fork is needed. :wink:

------

## Face Detection

```dart
//...
List faces = [];
try {
faces = await FlutterMobileVision.face(
flash: _torchFace,
autoFocus: _autoFocusFace,
multiple: _multipleFace,
showText: _showTextFace,
preview: _previewFace,
camera: _cameraFace,
fps: 15.0,
);
} on Exception {
faces.add(new Face(-1));
}
//...
```

### Android

For Android, you must do the following before you can use the plugin:

* Add the camera permission to your AndroidManifest.xml

``

``

* Add the Face Detection activity to your AndroidManifest.xml (after other activity nodes)

``

### iOS

If you can help, the community thanks. Your fork is needed. :wink: