【问题标题】:Bar Scanner With Google google_ml_kit: ^0.6.0带有 Google google_ml_kit 的条形扫描仪:^0.6.0
【发布时间】:2021-09-21 23:29:17
【问题描述】:

美好的一天, 我正在尝试制作数据矩阵条形码扫描仪,我正在尝试使用 google_ml_kit:^0.6.0,

我一直在尝试按照颤动页面https://pub.dev/packages/google_ml_kit 中的说明进行操作。但我没有运气。我是新来的颤振和飞镖任何帮助它非常感谢。

在getBarcodeCode里面

在最后一行 Listbarcodes = awaitbarcodeScanner.processImage(inputImage); 我总是得到 0 件物品。

非常感谢,

import 'dart:developer';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
import 'package:google_ml_kit/google_ml_kit.dart';
import 'dart:io';



class DashBoard extends StatefulWidget {
  static String id = 'DashBoard';
  const DashBoard({Key? key}) : super(key: key);

  @override
  _DashBoardState createState() => _DashBoardState();
}

class _DashBoardState extends State<DashBoard> {

  getBarcodeCode(var filePath)async {

      final inputImage = InputImage.fromFile(filePath);
      final barcodeScanner = GoogleMlKit.vision.barcodeScanner();
      final List<Barcode> barcodes = await barcodeScanner.processImage(inputImage);

      for (Barcode barcode in barcodes) {
        final String? rawValue = barcode.value.rawValue;
        log(rawValue.toString());
      }

      barcodeScanner.close();
  }

  _imgFromCamera() async {
    final picker = ImagePicker();
    PickedFile? pickedFile = await picker.getImage(source: ImageSource.camera, imageQuality: 50);
    var imageFile = File(pickedFile!.path);
    getBarcodeCode(imageFile);
  }

  _imgFromGallery() async {
    final picker = ImagePicker();
    PickedFile? pickedFile = await picker.getImage(source: ImageSource.gallery, imageQuality: 50);
    var imageFile = File(pickedFile!.path);
    getBarcodeCode(imageFile);
  }


  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: SafeArea(
          child: Container(
            child: Wrap(
              children: <Widget>[
                ListTile(
                    leading: new Icon(Icons.photo_library),
                    title: new Text('Photo Library'),
                    onTap: () {
                      _imgFromGallery();
                    }),
                ListTile(
                  leading: new Icon(Icons.photo_camera),
                  title: new Text('Camera'),
                  onTap: () {
                    _imgFromCamera();
                  },
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}

【问题讨论】:

    标签: flutter dart google-mlkit datamatrix


    【解决方案1】:

    如果您使用 ML Kit 进行条形码,我会建议使用 qr_mobile_visionflutter 包。它使用 Google Vision API 来扫描条形码。

    【讨论】:

    • 谢谢您,您的建议非常有效。
    猜你喜欢
    • 2020-11-18
    • 1970-01-01
    • 2021-10-15
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多