You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase ML Vision已停用,如何在Flutter中使用Google ML Kit实现文本识别?

Flutter 使用 Google ML Kit 实现图片文本识别完整指南

1. 前置依赖配置

首先在pubspec.yaml中添加所需依赖:

dependencies:
  flutter:
    sdk: flutter
  google_mlkit_text_recognition: ^0.13.0 # 可替换为当前最新稳定版
  image_picker: ^1.0.4 # 用于从相册/相机获取待识别图片

完成依赖添加后需要做平台适配:

  • 安卓端:修改android/app/build.gradle,将minSdkVersion调整为21及以上
    android {
        defaultConfig {
            minSdkVersion 21
        }
    }
    
  • iOS端:在ios/Runner/Info.plist中添加权限声明:
    <key>NSPhotoLibraryUsageDescription</key>
    <string>需要访问相册选取图片进行文本识别</string>
    <key>NSCameraUsageDescription</key>
    <string>需要使用相机拍摄图片进行文本识别</string>
    

2. 核心功能实现

首先导入需要的包:

import 'package:flutter/material.dart';
import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart';
import 'package:image_picker/image_picker.dart';

文本识别核心逻辑封装:

Future<String> recognizeTextFromImage(InputImage inputImage) async {
  // 初始化文本识别器,默认识别拉丁字符,如需识别中文可替换为TextRecognitionScript.chinese
  final textRecognizer = TextRecognizer(script: TextRecognitionScript.latin);

  // 执行文本识别
  final RecognizedText recognizedText = await textRecognizer.processImage(inputImage);

  // 拼接识别结果,也可根据业务需求获取文本块、文本行的位置、置信度等信息
  String result = '';
  for (TextBlock block in recognizedText.blocks) {
    for (TextLine line in block.lines) {
      result += '${line.text}\n';
    }
    result += '\n';
  }

  // 必须释放识别器,避免内存泄漏
  textRecognizer.close();

  return result;
}

调用示例(点击按钮选取相册图片并识别):

Future<void> pickImageAndRecognize() async {
  final ImagePicker picker = ImagePicker();
  // 如需调用相机拍摄,将source替换为ImageSource.camera即可
  final XFile? pickedImage = await picker.pickImage(source: ImageSource.gallery);

  if (pickedImage != null) {
    final InputImage inputImage = InputImage.fromFilePath(pickedImage.path);
    final String recognizedText = await recognizeTextFromImage(inputImage);
    // 可将识别结果展示到UI界面
    debugPrint('识别结果:$recognizedText');
  }
}

3. 注意事项

  • 如需识别中文、日文、韩文等非拉丁字符,初始化识别器时替换对应script参数即可,库内置支持多种主流语言脚本
  • 识别过程为纯本地运算,不需要联网,运行速度快且无数据上传风险
  • 处理相机拍摄的图片时建议先校验图片方向,避免方向错误导致识别准确率下降

内容的提问来源于stack exchange,提问作者Divyansh Jangir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:45:03