Good day, im trying to make a data matrix barcode scanner, im trying to use google_ml_kit: ^0.6.0,
I been trying to follow the instruction in the flutter page https://pub.dev/packages/google_ml_kit. but I have not luck. im new to flutter and dart any help its very appreciate.
inside getBarcodeCode
in the line final List barcodes = await barcodeScanner.processImage(inputImage); I Always get 0 items.
thanks you best,
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();
},
),
],
),
),
),
),
);
}
}
If you are using ML Kit for barcode, I will suggest use qr_mobile_vision flutter package. It uses Google Vision API for scanning barcodes.