项目博客关于

传影

2021-06探索

手机“隔空取物”,复制粘贴到电脑桌面
源码

项目预览

指哪贴哪,所见即所得 识别数学公式,输入到 Word 识别输入文字

项目亮点

幕后花絮

这是一次有趣的 AR 实验项目,灵感来自于 clip drop 的原型1

其背后是 macOS 辅助功能、Python、OpenCV 等多种跨界技术的融合。

最神奇的地方在于,它可以通过手机相机,捕获你身边的物体、文字或公式,

然后按照在相机中预览的位置和大小,将它们“贴”到你的电脑上,所见即所得。

技术浅析

此项目使用 Flutter 进行跨端开发,其 PC 端和移动端共用同一份代码(包括局域网通信协议相关的实现),极大的提高了开发效率。

为了实现在电脑屏幕的指定位置,输入文字的目的,我用 Swift 开发了一个 macOS native 插件2,用来模拟鼠标点击和键盘输入(类似远程控制电脑所用到的技术)。

此项目的核心是:如何根据手机相机的预览画面,找到其与电脑桌面坐标之间的映射关系

我们可以通过 OpenCV ,来分析手机相机拍到的屏幕图像,与对应时刻屏幕截图之间的相似点3,找到手机相机坐标和电脑屏幕坐标之间的映射关系。

如此,便实现了“指哪打哪”,“所见即所得”的神奇效果。

备注

  1. ar-cutpaste:https://github.com/cyrildiagne/ar-cutpaste

  2. 有趣的是,这个插件的核心实现,是我从上海回山东老家的高铁上完成的。

  3. OpenCV Feature Matching: https://docs.opencv.org/3.4/dc/dc3/tutorial_py_matcher.html