繁体   English   中英

如何使用ML Kit云文本识别器进行扑动?

[英]How to use ML Kit cloud text recognizer for flutter?

我在我的项目中使用包'firebase_ml_vision'来进行OCR。 我可以很好地阅读拉丁语言,但是,我想阅读中文字符。 我知道文本识别器的设备和基于云的版本。 但是,我无法找到如何在我的应用中“启用”基于云的版本。 我已经激活了基于云的API在火力地堡在此图像所示: 激活云API

我目前使用的代码是:

void _initializeVision() async{
final File imageFile = File(imagePath);
final FirebaseVisionImage visionImage = FirebaseVisionImage.fromFile(imageFile);


final TextRecognizer textRecognizer = FirebaseVision.instance.textRecognizer();
final VisionText visionText = await textRecognizer.processImage(visionImage);



for(TextBlock blocks in visionText.blocks){
  for(TextLine line in blocks.lines){
    print(line.text);
  }
}}

我尝试阅读的图片

结果:

I/flutter (10432): FamilyMart Collection
I/flutter (10432): 10
I/flutter (10432): Pocket facial tissue
I/flutter (10432): Without fluorescent virgin fber from wood puip
I/flutter (10432): pampers your skin

谁能向我解释如何使用Flutter的云文本识别器?

有同样的问题,不要认为cloud-OCR目前适用于ML-Package。 我设法通过POST请求使其工作。 以下是您需要的一切: 提出Vision API请求

// Upload Image to Firebase and get
// 1. DownloadUrl or 
// 2. StorageBucket or
//
// 3. Convert Image to base64 with
// String base64Image = base64Encode(File(imagePath).readAsBytesSync());
// (does not work for me, if you use this way make sure your `body` is correct)

String body = """{
  'requests': [
    {
      'image': {
        'source': {
          'imageUri': '$downloadUrl'
        }
      },
      'features': [
        {
          'type': 'DOCUMENT_TEXT_DETECTION'
        }
      ]
    }
  ]
}""";

http.Response res = await http
  .post(
    "https://vision.googleapis.com/v1/images:annotate?key=$API_KEY",
    body: body
  );

print("${res.body}");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM