ML Kit 文本识别插件
非官方电容插件 ML Kit 文本识别[^1]
使用大小写
当应用程序需要从图像中取出文本时,通常会使用文本识别插件,例如:
- 文件数字化: 将印刷的文档、收据或名片转换为机器可读文本.
- 数据输入自动化:从表格或标签中取出文本来预填入字段并减少手动打字.
- 无障碍: 高声读取图像中发现的文本以支持屏幕读取器和其他辅助技术.
- 笔译管道:在将文本传送给翻译服务之前,先以图像识别文本.
兼容性
| 插件版本 | 电容版本 | 状态 |
|---|---|---|
| 8.x.x (英语) | >=8.x.x | 积极支持 |
安装
你可以用我们的 AI 辅助设置 以安装插件. 添加数据 超级技能 至您的 AI 工具,使用以下命令:
npx skills add capawesome-team/skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capacitor-mlkit/text-recognition` plugin in my project.
如果你喜欢 手动设置,通过运行以下命令来安装插件,并遵循下面的平台特定指令:
npm install @capacitor-mlkit/text-recognition
npx cap sync
请注意: 此插件 只支持可口可乐Pods iOS的依赖性管理。 Swift 软件包管理器( SPM) 不支持 ML Kit SDK, 参见 本评论。 。 。 .
App 大小影响
此插件为每个支持的脚本(拉丁文、中文、德瓦纳加里文、日文和韩文)装入一个单独的模型。 每个模型都会使您的应用程序大小增加数兆字节. 在决定您的应用程序实际需要的脚本时记住这一点.
机器人
变量
如果需要, 您可以在您的应用中定义以下工程变量 variables.gradle 更改依赖关系的默认版本的文件 :
$mlkitTextRecognitionVersion版本com.google.mlkit:text-recognition(默认 :16.0.1(中文(简体) )$mlkitTextRecognitionChineseVersion版本com.google.mlkit:text-recognition-chinese(默认 :16.0.1(中文(简体) )$mlkitTextRecognitionDevanagariVersion版本com.google.mlkit:text-recognition-devanagari(默认 :16.0.1(中文(简体) )$mlkitTextRecognitionJapaneseVersion版本com.google.mlkit:text-recognition-japanese(默认 :16.0.1(中文(简体) )$mlkitTextRecognitionKoreanVersion版本com.google.mlkit:text-recognition-korean(默认 :16.0.1(中文(简体) )
如果您在工程中遇到其它插件的依赖性冲突, 这会有所帮助 .
iOS系统
最低部署目标
确定部署目标 ios/App/Podfile 至少改为 15.5数字 :
platform :ios, '15.5'
配置
此插件不需要配置 .
演示
这里有一个实例: robingenz/电容-mlkit-plugin-demo
使用量
以下例子说明如何在图像中识别文本.
在图像中识别文本
在本地路径的图像中识别文本 。 您可以选择要识别的文本脚本 。 仅在Android和iOS上提供:
import { Script, TextRecognition } from '@capacitor-mlkit/text-recognition';
const processImage = async () => {
const { text, blocks } = await TextRecognition.processImage({
path: 'path/to/image.jpg',
script: Script.Latin,
});
return { text, blocks };
};
API 密码
进程图像(...)
processImage(options: ProcessImageOptions) => Promise<ProcessImageResult>
识别图像中的文本 .
仅在Android和iOS上提供.
| 参数 | 类型 |
|---|---|
options | ProcessImageOptions |
回返情况: Promise<ProcessImageResult>
自: 8.2.0 (中文(简体) )
接口
进程图像结果
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
text | string | 全文. | 8.2.0 (中文(简体) ) |
blocks | TextBlock[] | 公认的文本块. | 8.2.0 (中文(简体) ) |
文本锁定
代表一个文本块.
块是一组相接的文本行,如段落或一列.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
text | string | 区块的公认文字. | 8.2.0 (中文(简体) ) |
boundingBox | Rect | 街区的边界箱. | 8.2.0 (中文(简体) ) |
cornerPoints | Point[] | 按顺时针顺序排列的块的四个角点,从左上角点相对于图像开始. | 8.2.0 (中文(简体) ) |
recognizedLanguage | string | BCP-47区被确认为区块语言的语言代码. | 8.2.0 (中文(简体) ) |
lines | TextLine[] | 区块内公认的文字行. | 8.2.0 (中文(简体) ) |
矩形
代表一个矩形.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
left | number | 长方形的左坐标. | 8.2.0 (中文(简体) ) |
top | number | 长方形上部坐标. | 8.2.0 (中文(简体) ) |
right | number | 矩形的右坐标. | 8.2.0 (中文(简体) ) |
bottom | number | 矩形的下部坐标. | 8.2.0 (中文(简体) ) |
点
代表一个点.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
x | number | 点的x坐标. | 8.2.0 (中文(简体) ) |
y | number | 点的Y坐标. | 8.2.0 (中文(简体) ) |
文本行
代表一行文字.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
text | string | 该行的公认文字. | 8.2.0 (中文(简体) ) |
boundingBox | Rect | 入行相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相. | 8.2.0 (中文(简体) ) |
cornerPoints | Point[] | 以顺时针顺序排列的行中四个角点,从左上角点相对图像开始. | 8.2.0 (中文(简体) ) |
recognizedLanguage | string | 该行公认语言的BCP-47语言代码. | 8.2.0 (中文(简体) ) |
elements | TextElement[] | 线内文字的公认要素. | 8.2.0 (中文(简体) ) |
文本元素
代表文本的一个要素.
一个元素是一组相接的字符,比如一个单词.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
text | string | 元素的公认文本. | 8.2.0 (中文(简体) ) |
boundingBox | Rect | 元素的边框 . | 8.2.0 (中文(简体) ) |
cornerPoints | Point[] | 元素以顺时针顺序排列的四个角点,从左上角点相对图像开始. | 8.2.0 (中文(简体) ) |
recognizedLanguage | string | 元素识别语言的BCP-47语言代码. | 8.2.0 (中文(简体) ) |
进程图像选项
| Prop | 类型 | 说明 | 默认 | 自兹 |
|---|---|---|---|---|
path | string | 图像文件的本地路径 . | 8.2.0 (中文(简体) ) | |
script | Script | 文字以辨之. 每个脚本都需要一个与应用程序相捆绑的单独的模型. | Script.Latin | 8.2.0 (中文(简体) ) |
数字
脚本
| 成员 | 数值 | 说明 | 自兹 |
|---|---|---|---|
Latin | 'LATIN' | 拉丁文剧本. | 8.2.0 (中文(简体) ) |
Chinese | 'CHINESE' | 中国剧本. | 8.2.0 (中文(简体) ) |
Devanagari | 'DEVANAGARI' | 德瓦纳加里剧本. | 8.2.0 (中文(简体) ) |
Japanese | 'JAPANESE' | 日本剧本. | 8.2.0 (中文(简体) ) |
Korean | 'KOREAN' | 韩剧本. | 8.2.0 (中文(简体) ) |
财务问题
此插件支持哪些平台 ?
这个 processImage(...) 方法只在Android和iOS上可用. 网络平台不为基础的ML Kit文本识别SDK所支持.
支持哪些脚本 ?
该插件支持拉丁文,中文,德瓦纳加里文,日文,韩文等文字. 使用 script 选项来选择要识别的文本的脚本。 每个脚本都使用与您的应用程序相捆绑的单独模型.
捆绑所有的脚本会增加应用大小吗?
对 每个脚本模型都为您的应用程序添加了数兆字节. 所有5个模型都被捆绑起来,这样每个脚本都可以在运行时使用而无需额外的下载.
我要以何种格式提供图像路径 ?
这个 path 必须是本地文件路径(例如). file:///path/to/image.jpg。远程 URL 不支持.
我能用这个插件吗? 有Ionic、React、Vue或Angular?
是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.
相关插件
- ML Kit 条码扫描:用ML Kit条码扫描条码.
- ML Kit 图像标签:用 ML Kit 图像标签在图像中检测标签.
- ML Kit 面部检测:用 ML Kit Face 检测图像中的检测面孔.
术语和隐私
此插件使用 Google ML Kit (Google ML Kit) 页面存档备份,存于互联网档案馆数字 :
通讯
随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .
更改日志
见 变动情况。 。 。 .
许可证
见 自由主义。 。 。 .
[^1]: 这个项目不附属于Google LLC或其任何子公司或子公司,也不获得其认可、支持、赞助或批准.