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);
}),


