Skip to content

dkleikesa/TouchPosition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

本项目主要是用来做算法调试,原来项目是一个硬件设备,大尺寸的红外触摸屏,一般是在 50 寸以上的 投影仪或者大型电视墙上使用。
红外触摸屏的原理:
  红外触摸屏 需要用到两种红外设备:红外线发射的二极管、红外线接收的二极管。 发射二极管射出的红外线可以被接收二极管接收到,当手指挡住部分红外线以后,就会有部分二极管接收不到红外线照射,以此条件可以判断出手指的位置。
  其大概的计算原理就是,上下各有一个二极管发射红外线,二者会有一个菱形的交叉区域,当手指放到这个菱形区域中后,挡住红外线,被挡住的区域也形成了一个小的菱形,这个小菱形的中心点就是手指的位置。
  
  本项目支持多点触控,因此算法非常复杂,但是已经基本调试到了可以发布的状态,在某些边界点上,还有很多问题,如果大家有好的思路,望多多指教。


20140721	修正了画图过程中1个像素的误差

待解决的问题:
1、3个点4个菱形情况下怎么办?	先不管
2、怎么判定是不是每个投影都有点
3、菱形个数比点少,则肯定有菱形重复使用 需要修正共用菱形的坐标  OK
4、由于上面的筛选过程有可能把真点筛选出去,所以需要从删除的数据里面找误删的点
5、点ID判定   待调试 OK
6、当菱形在矩形边界时,菱形细长 造成中心点误差很大,不能正确判定点的位置?
7.点ID判定 每个点只能有一个点与之对应 这个不能做
8.边界时候菱形划归到一个矩形里面,会出现有投影但是没有菱形的情况,造成点个数误判

YProjectionCount[i].pos[0]

1.菱形中心点位置计算 换4个点求平均值 或者都用P1 P2点来计算 试试

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors