搜尋套件、儲存庫與 APP 分類

套件詳情v0.1.15

flutter_mobile_vision_2

(+Non NULL)Google Mobile Vision的Flutter實作。掃描條碼、辨識文字與偵測臉部。

AndroidiOS
近 30 天下載
52
喜歡數
50
Pub 分數
140

安裝套件

flutter pub add flutter_mobile_vision_2

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

Flutter Mobile Vision 2 是一個 Flutter 插件,可提供對 Google 的 Mobile Vision API 的存取,用於條碼掃描、文字辨識與人臉偵測。它讓開發者能夠將即時影像分析直接整合至 Android 與 iOS 平台的行動應用程式中。此套件支援即時相機串流,並在辨識條碼、擷取印刷或手寫文字,以及偵測眼睛、鼻子與嘴巴等人臉特徵方面表現出穩定的效能。設計簡潔且高效,將原生視覺功能與 Flutter 的跨平台框架完美結合。

適用情境

  • 零售應用中的條形碼掃描
  • 從圖像中提取文字
  • 用於使用者驗證的人臉偵測
  • 即時文件掃描
  • 基於圖像的資料輸入

主要特色

  • 即時攝像頭整合
  • 條碼掃描
  • 文字辨識(OCR)
  • 人臉檢測
  • 跨平台支援(Android 與 iOS)

適合對象

  • 需要OCR的移動應用
  • 零售和庫存管理工具
  • 文件數位化應用
  • 使用者身分驗證系統
  • 需要即時影像分析的應用程式

使用建議

  • 需要相機權限
  • 依賴 Google Play 服務(Android)
  • 有限的離線功能
  • 可能需要進行設備相容性檢查
  • 性能因硬體而異

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

flutter_mobile_vision_2

https://pub.dartlang.org/packages/flutter_mobile_vision_2

This is a simple non-null migration for https://github.com/edufolly/flutter_mobile_vision Thanks to Edufolly

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!


Migration from fluttermobilevision by edufolly

If you are migrating from edufolly's package, please note the following changes.

[1]

import 'package:fluttermobilevision/fluttermobilevision.dart';

has been changed to

import 'package:flutter_mobile_vision_2/flutter_mobile_vision_2.dart';

so update your imports.

[2]

io.github.edufolly.fluttermobilevision

has been changed to

 ng.com.piccmaq.flutter.flutter_mobile_vision_2

so update your AndroidManifest.xml


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_2: ^0.1.9
  • 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,
    //OPTIONAL: close camera after tap, even if there are no detection.
    //Camera would usually stay on, until there is a valid detection
    forceCloseCameraOnTap: true,
    //OPTIONAL: path to save image to. leave empty if you do not want to save the image
    imagePath: '', //'path/to/file.jpg'
    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="ng.com.piccmaq.flutter.flutter_mobile_vision_2.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="ng.com.piccmaq.flutter.flutter_mobile_vision_2.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="ng.com.piccmaq.flutter.flutter_mobile_vision_2.face.FaceCaptureActivity" />

iOS

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

所屬分類

原始碼儲存庫

使用此套件的專案

暫無相關資料。