在 Flutter 中使用 Google ML-Kit 设备端文本识别
Using Google ML-Kit On-Device Text Recognition in Flutter
是否可以在 Flutter 中使用 Google ML-Kit 设备端文本识别?我在网上找到的所有教程和资源都是 firebase_ml_vision
,但我正在寻找使用 Google ML-Kit 中的免费 OCR 的教程和资源。我将如何在 Flutter 中执行此操作?
是的,你当然可以使用这个包 https/pub.dev/packages/mlkit 这是 google 的 mlkit。 OCR 还支持 ios 和 android。编码愉快 ;)
正如@Sayan Nath 所说,您可以使用 mlkit
,但我认为更好的选择是 google_ml_kit
,致力于 firebase_ml_vision 的 firebase 团队也推荐使用它。
使用这个包https://pub.dev/packages/camera_google_ml_vision
在使用方法上完全一样 firebase_ml_vision
用于文本识别的 ML 套件
遵循 Google 机器学习套件 (https://pub.dev/packages/google_ml_kit) 的安装。 (颤振 2.8)
设置这个东西
bool hasImage = false;
File? image;
TextDetector textDetector = GoogleMlKit.vision.textDetector();
String? imagePath;
String scanText = '';
要获取图像,请使用图像选择器:https://pub.dev/packages/image_picker
Future getImage(ImageSource source) async {
try {
final image = await ImagePicker().pickImage(source: source);
if (image == null) return;
final imageTemporary = File(image.path);
setState(() {
this.image = imageTemporary;
imagePath = imageTemporary.path;
debugPrint(imagePath);
hasImage = true;
});
} on PlatformException catch (e) {
debugPrint('Failed to pick image: $e');
}
}
从图像中获取文本的代码
Future getText(String path) async {
final inputImage = InputImage.fromFilePath(path);
final RecognisedText recognisedText =
await textDetector.processImage(inputImage);
for (TextBlock block in recognisedText.blocks) {
for (TextLine line in block.lines) {
for (TextElement element in line.elements) {
setState(() {
scanText = scanText + ' ' + element.text;
debugPrint(scanText);
});
}
scanText = scanText + '\n';
}
}
}
调用getText
函数并传递图片路径。 getText(imagePath)
.
是否可以在 Flutter 中使用 Google ML-Kit 设备端文本识别?我在网上找到的所有教程和资源都是 firebase_ml_vision
,但我正在寻找使用 Google ML-Kit 中的免费 OCR 的教程和资源。我将如何在 Flutter 中执行此操作?
是的,你当然可以使用这个包 https/pub.dev/packages/mlkit 这是 google 的 mlkit。 OCR 还支持 ios 和 android。编码愉快 ;)
正如@Sayan Nath 所说,您可以使用 mlkit
,但我认为更好的选择是 google_ml_kit
,致力于 firebase_ml_vision 的 firebase 团队也推荐使用它。
使用这个包https://pub.dev/packages/camera_google_ml_vision 在使用方法上完全一样 firebase_ml_vision
用于文本识别的 ML 套件
遵循 Google 机器学习套件 (https://pub.dev/packages/google_ml_kit) 的安装。 (颤振 2.8)
设置这个东西
bool hasImage = false;
File? image;
TextDetector textDetector = GoogleMlKit.vision.textDetector();
String? imagePath;
String scanText = '';
要获取图像,请使用图像选择器:https://pub.dev/packages/image_picker
Future getImage(ImageSource source) async {
try {
final image = await ImagePicker().pickImage(source: source);
if (image == null) return;
final imageTemporary = File(image.path);
setState(() {
this.image = imageTemporary;
imagePath = imageTemporary.path;
debugPrint(imagePath);
hasImage = true;
});
} on PlatformException catch (e) {
debugPrint('Failed to pick image: $e');
}
}
从图像中获取文本的代码
Future getText(String path) async {
final inputImage = InputImage.fromFilePath(path);
final RecognisedText recognisedText =
await textDetector.processImage(inputImage);
for (TextBlock block in recognisedText.blocks) {
for (TextLine line in block.lines) {
for (TextElement element in line.elements) {
setState(() {
scanText = scanText + ' ' + element.text;
debugPrint(scanText);
});
}
scanText = scanText + '\n';
}
}
}
调用getText
函数并传递图片路径。 getText(imagePath)
.