Flutter 可缩放 OCR

v1.0.1

Flutter 可缩放 OCR 包是 Google ML kit 文本识别 的一个封装。它解决了仅从相机的一部分获取数据的问题,并且还缩小了相机视口,而这曾是一个常见的问题。要了解其在实际场景中的工作方式,您可以查看其使用过的应用程序 Exchange Rate Scanner,并且这里有一些来自示例项目的 GIF。

要求

由于此包使用了 ML Kit,请在项目中运行该包之前查看 要求

特点

从相机狭窄的窗口扫描文本,而不是整个屏幕。有两个函数:getScannedText 用于将读取的文本作为字符串获取,或者 getRawData 返回 TextElement 列表。请参考 Google 开发者网站图像中的 ML Kit 文本识别对象结构。缩放操作也应该可以工作。

注意:此封装使用了 Camera 包,因此您需要在文档中添加相应权限。

用法

将软件包添加到 pubspec.yaml

dependencies:
  flutter_scalable_ocr: x.x.x

导入它

import 'package:flutter_scalable_ocr/flutter_scalable_ocr.dart';

所有三个选项的完整示例都在 /example 文件夹中,所以请查看工作版本。

参数

参数 描述 默认值
boxLeftOff 可缩放的中心方块左侧偏移 4
boxBottomOff 可缩放的中心方块底部偏移 2.7
boxRightOff 可缩放的中心方块右侧偏移 4
boxTopOff 可缩放的中心方块顶部偏移 2.7
paintboxCustom 相机窗口中的窄化方块 来自示例
boxHeight 相机窗口高度 来自示例
getScannedText 返回字符串的回调函数
getRawData 返回 TextElement 列表的回调函数

使用小部件

ScalableOCR(
    paintboxCustom: Paint()
        ..style = PaintingStyle.stroke
        ..strokeWidth = 4.0
        ..color = const Color.fromARGB(153, 102, 160, 241),
    boxLeftOff: 4,
    boxBottomOff: 2.7,
    boxRightOff: 4,
    boxTopOff: 2.7,
    boxHeight: MediaQuery.of(context).size.height / 5,
    getRawData: (value) {
        inspect(value);
    },
    getScannedText: (value) {
        setText(value);
    }),

GitHub

查看 Github