最近,Chrome 团队尝试在 Chrome 中集成了一套与图形识别相关的 API,使得图形识别这种以前只在原生应用中存在,或者在浏览器上,要借助其他难用的外部库才能实现的功能,现在只要少量代码即可实现。这些 API 包括人脸识别,条形码 / 二维码识别和文本识别,基本上覆盖了当前互联网应用的大部分场景。
现状
图形识别这种对系统资源和设备的计算能力要求颇高的功能,通常只有底层的原生 API 能驾驭,流行的框架主要是开源的 Open CV 和各大移动平台的图形识别服务:
而 Chrome 的这些 API,当前还处于实验阶段,只集成在 Chrome Canary 版本中,特别是 Android 版更新较快。使用前还需要通过把“实验性网络平台功能”chrome://flags/#enable-experimental-web-platform-features
设置为Enable
来激活。
激活后,在 Console 控制台输入以下 JavaScript 代码,就能验证你的浏览器是否支持相应的 API 了:
window.FaceDetector
window.BarcodeDetector
window.TextDetector
如果支持,就会返回如function FaceDetector() { [native code] }
的信息。
Chrome Canary 是 Chrome 的一条与其他项目并行的实验性分支,是许多前卫激进的特性的试验场,而且迭代很快,有时甚至是每日一更新,所以不出所料,也不太稳定。和其他 Chrome 版本一样,也可以在 Chrome Release Channels 上下载。
从现在公布的信息来看,以下这些场景可能得以轻松实现:
- 人脸识别:
- 自动框选你家庭聚会照片里的亲戚朋友们,然后你就可以给每个人都贴标签了,不用自己逐个框选。
- 在社交网站上注册的时候,你上传了一张照片,浏览器可以帮你裁剪好最佳尺寸。
- 条形码识别:
- 识别网页中的条形码 / 二维码,并作相应的动作,比如链接跳转,支付等等。
- 文本识别:
- OCR
- 配合语音接口,朗读图片中的文字
除此之外,开发者大可以尽情发挥想象,创造更多独一无二有趣的应用。
社区反映
图形识别虽然是刚需,但自去年底公布消息以来,可能是由于这些 API 尚处于实验阶段,尚待打磨,在开发社区内还未形成大范围的讨论,目前能收集到的主要是以下资料供开发者参考。
- API: Accelerated Shape Detection in Images - by Miguel Casas-Sanchez (Google Inc.) | 中文版 by 谈浩
- Face detection using Shape Detection API - by Paul Kinlan
不过正因为进化迅速,这套图形识别 API 从去年的 M57 版本发展至今,已经发生了不小的变化,也许在不久的将来,就会合并到稳定版中,真正为广大开发者所用,构建更多有趣的应用。
感谢韩婷对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论