带有 Google google_ml_kit 的条形扫描仪:^0.6.0

Posted

技术标签:

【中文标题】带有 Google google_ml_kit 的条形扫描仪:^0.6.0【英文标题】:Bar Scanner With 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();
                  ,
                ),
              ],
            ),
          ),
        ),
      ),
    );
  

【问题讨论】:

【参考方案1】:

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

【讨论】:

谢谢您,您的建议非常有效。

以上是关于带有 Google google_ml_kit 的条形扫描仪:^0.6.0的主要内容,如果未能解决你的问题,请参考以下文章

带有 Google 存储的 C# - 带有客户加密密钥的签名 URL

带有日期条件的 Google 表格 Sumifs

Google Calendar API,如何添加带有附加新生成的google meet的事件?

带有 Google Tag Manager 并手动添加 Google Analytics 的页面

带有 Google 地图的 Android 版 Facebook Messenger

带有空白行的自动填充数据 - Google 表格/Google Apps 脚本