自制安卓手机触控投影

介于小朋友爱玩手机,但手机伤眼。故想利用身边的物件整个墙面的手机触控投影。

一、准备材料

  1. 两个摄像头(一个要求广角120度以上,至于像素要求不高。笔者用一个720p的。另一个尽量对捕获的色彩饱和度越高越好,笔者用了个1080p的高清直播摄像头。尽量先利用身边的材料即可,后续可自行对代码进行调整)
  2. 带手机同屏的投影仪(也可以配个HDMI的投屏器,便宜。(∩_∩))
  3. 安卓手机一台(笔者用高通骁龙652,3G内存。现在估计这种二手机就二、三百元)
    自制安卓手机触控投影
  4. PC一台(I3即可)
  5. 红色LED发光件(可以淘宝看看 儿童玩具发光戒指 等,笔者是把发光耳勺的头部换成红色LED再套个红色塑料壳。下文表述为发光笔)
    自制安卓手机触控投影
    二、原理描述
    自制安卓手机触控投影
    两个摄像头各自分管,协同配合。顶部的判断发光笔触摸到墙面否,主摄像头识别发光笔在投影中正面的点击位置。
    投影仪通过同屏方法连接手机屏幕。
    PC上实现将摄像头识别的点击信息传递给手机,控制其进行相应的点击、滑动操作。

三、实现代码
代码用python完成。具体已上传至github(https://github.com/chenfengyan/Touch-projector
代码中需要根据自己的实际信息修改相应配置。
const.py 中 填写 手机的device id (可用adb devices查看)
phone_operator.py 中 填写 'phone_location_in_capture' (按序是 竖屏时左上点、右下点 横屏时左上点、右下点 坐标 以及 手机屏幕高度的分辨率)
最后,调用K12_touch_projector.py 的main函数可以开始执行。笔者连接两个摄像头到PC上后,cv2.VideoCapture(0)是Top_camera, cv2.VideoCapture(1)是Main_camera.需按情况自行调整

四、实现情况和待改进点
自制安卓手机触控投影

猜你喜欢

转载自blog.51cto.com/cfy10/2465688