MCPcopy Index your code
hub / github.com/edufolly/flutter_mobile_vision

github.com/edufolly/flutter_mobile_vision @0.1.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.1.2 ↗ · + Follow
190 symbols 446 edges 24 files 66 documented · 35%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

flutter_mobile_vision

Codacy Badge pub package

Flutter implementation for Google Mobile Vision.

Based on Google Mobile Vision.

Android Samples -=- iOS Samples

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

To use this plugin :

  • add the dependency to your pubspec.yaml file:
  dependencies:
    flutter:
      sdk: flutter
    flutter_mobile_vision: ^0.1.4
  • add FlutterMobileVision.start() to initState():
@override
void initState() {
  super.initState();
  FlutterMobileVision.start().then((x) => setState(() {}));
}

or for a better implementation:

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

Barcode

//...
List<Barcode> 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

    <uses-feature android:name="android.hardware.camera" />

    <uses-permission android:name="android.permission.CAMERA" />

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

    <activity android:name="io.github.edufolly.fluttermobilevision.barcode.BarcodeCaptureActivity" />

iOS

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


OCR

//...
List<OcrText> 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

    <uses-feature android:name="android.hardware.camera" />

    <uses-permission android:name="android.permission.CAMERA" />

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

<activity android:name="io.github.edufolly.fluttermobilevision.ocr.OcrCaptureActivity" />

iOS

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


Face Detection

//...
List<Face> 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

    <uses-feature android:name="android.hardware.camera" />

    <uses-permission android:name="android.permission.CAMERA" />

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

<activity android:name="io.github.edufolly.fluttermobilevision.face.FaceCaptureActivity" />

iOS

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

Extension points exported contracts — how you extend this code

ShutterCallback (Interface)
Callback interface used to signal the moment of actual image capture. [1 implementers]
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/CameraSource.java
PictureCallback (Interface)
Callback interface used to supply image data from a photo capture. [1 implementers]
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/CameraSource.java
AutoFocusCallback (Interface)
Callback interface used to notify on completion of camera auto focus. [1 implementers]
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/CameraSource.java
AutoFocusMoveCallback (Interface)
Callback interface used to notify on auto focus start and stop. This is only supported in continuous autofocus m [1 implementers]
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/CameraSource.java
BarcodeUpdateListener (Interface)
(no doc) [2 implementers]
android/src/main/java/io/github/edufolly/fluttermobilevision/barcode/BarcodeUpdateListener.java

Core symbols most depended-on inside this repo

add
called by 17
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/GraphicOverlay.java
build
called by 10
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/CameraSource.java
postInvalidate
called by 8
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/GraphicOverlay.java
remove
called by 6
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/GraphicOverlay.java
success
called by 6
android/src/main/java/io/github/edufolly/fluttermobilevision/barcode/BarcodeCaptureActivity.java
contains
called by 5
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/GraphicOverlay.java
translateX
called by 5
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/GraphicOverlay.java
translateY
called by 5
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/GraphicOverlay.java

Shape

Method 154
Class 31
Interface 5

Languages

Java100%

Modules by API surface

android/src/main/java/io/github/edufolly/fluttermobilevision/ui/CameraSource.java60 symbols
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/GraphicOverlay.java22 symbols
android/src/main/java/io/github/edufolly/fluttermobilevision/ui/CameraSourcePreview.java12 symbols
android/src/main/java/io/github/edufolly/fluttermobilevision/util/AbstractCaptureActivity.java11 symbols
android/src/main/java/io/github/edufolly/fluttermobilevision/ocr/MyTextBlock.java10 symbols
android/src/main/java/io/github/edufolly/fluttermobilevision/face/MyFace.java7 symbols
android/src/main/java/io/github/edufolly/fluttermobilevision/ocr/OcrGraphicTracker.java6 symbols
android/src/main/java/io/github/edufolly/fluttermobilevision/ocr/OcrGraphic.java6 symbols
android/src/main/java/io/github/edufolly/fluttermobilevision/face/FaceGraphicTracker.java6 symbols
android/src/main/java/io/github/edufolly/fluttermobilevision/face/FaceGraphic.java6 symbols
android/src/main/java/io/github/edufolly/fluttermobilevision/barcode/BarcodeGraphicTracker.java6 symbols
android/src/main/java/io/github/edufolly/fluttermobilevision/barcode/BarcodeGraphic.java6 symbols

For agents

$ claude mcp add flutter_mobile_vision \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page