5849|18

59

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

手写轨迹的优化 [复制链接]

我在做手写输入,在嵌入式平台下由于系统捕捉的事件比较少,所以当鼠标移动时捕捉到的相邻两点距离较远,如果单纯的用直线相连的话,显示效果不好。
所以我想使用一种插值算法,如果两点距离比较远就插入一个点。希望这个算法比较简单,因为是嵌入式系统,系统的速度比较慢。

最新回复

shuiyan给了很多帮助,但是我在另一个板块也发了这个帖子,好像是他的另一个号回复,所以这个帖子结贴就不给shuiyan分了。  详情 回复 发表于 2008-7-9 16:01
点赞 关注

回复
举报

63

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
取中点,简单吧
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 91program 的回复:
取中点,简单吧

晕死,取中点和直接连直线的差距很大吗,最多不就是小数取为整数吗。
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

4
 
这个问题太难了,光靠2个点肯定没什么办法,多来几个点做曲线逼近还差不多
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 Reallyu 的回复:
这个问题太难了,光靠2个点肯定没什么办法,多来几个点做曲线逼近还差不多
可以用三个点啊,用两个点怎么插值,但是我不能用很多点来做N次多项式插值啊。用三个点做二次多项式插值效果不好,不过三个点可以确定一个圆,求最后两个点中间的圆弧上的点就可以了,但是这要调用三角函数的知识,计算机运算起来速度会慢很多,有没有一种近似的计算方法
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
两点没有办法插值,只能取中点。
插值,需要其它点的信息
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 5 楼 91program 的回复:
两点没有办法插值,只能取中点。
插值,需要其它点的信息
没说两点啊,第一个点和第二个点中间不插值,后面的就可以插值了,至少知道前面的两个点和现在获取的一个点的信息,就是知道三个点,应该可以插值的
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
人手的移动速度,远远低于现在CPU的运算速度。也低于现在普遍的AD采样速度。触摸屏的采样其实很快的。不知道你用的什么平台,什么触摸屏,多大的?分辨率多少?我们从02年做PDA开始用手写输入,从没碰到这样的问题。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

9
 
请 霏霏 给lz共享你们的思路吧。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 7 楼 shuiyan 的回复:
人手的移动速度,远远低于现在CPU的运算速度。也低于现在普遍的AD采样速度。触摸屏的采样其实很快的。不知道你用的什么平台,什么触摸屏,多大的?分辨率多少?我们从02年做PDA开始用手写输入,从没碰到这样的问题。
CPU应该是400MHz的,触摸屏的大小是320x240。这是鼠标移动捕捉到的连续的三个点(53,126),(54,120),(88,118)。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 9 楼 yuanhong2910 的回复:
引用 7 楼 shuiyan 的回复:
人手的移动速度,远远低于现在CPU的运算速度。也低于现在普遍的AD采样速度。触摸屏的采样其实很快的。不知道你用的什么平台,什么触摸屏,多大的?分辨率多少?我们从02年做PDA开始用手写输入,从没碰到这样的问题。
CPU应该是400MHz的,触摸屏的大小是320x240。这是鼠标移动捕捉到的连续的三个点(53,126),(54,120),(88,118)。


第三个点与前两个点距离也太大了吧,应该是LZ的采样程序有问题。

LZ先说说你的采样程序是如何实现的。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

12
 
是呀,不会这么慢的,可以把touch驱动的定时器中断时间弄短点,或者是touch的采样太不准,丢弃的点太多???
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

13
 
连续的三个点(53,126),(54,120),(88,118)
这三个点明显不“连续”,应该是触摸的采样出了问题。或者说,是手写输入法的算法出了问题,两次取点间有额外的阻塞线程导致了读取触摸采样点的停顿跳跃。
你应该先单独测试采样是否能连续。然后再应用到手写里面。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

14
 
我也不清楚,我刚进入这个领域,对事件的捕捉和分发是别人写的代码,我对这些还不熟,只是做很上层的。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

15
 
一般显示频率应该在70~180Hz,你的CPU400M,应该可以满足,我之前用96MHz的都可以,你看看你的程序吧,采样点这么大的差距应该是卡在哪里了。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

16
 
呵呵,程序很大,我都找不到是哪的问题。而且刚接触Windows编程,不熟。好像就是在WinMain函数中分发事件的,上次设断点没有跑到丢弃事件的程序段,在书写的时候。
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

17
 
那如果不运行输入法程序,直接在桌面上,用触摸笔画个线,然后捕捉触摸点,看看结果如何。
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

18
 
我查了一下,是我在画的时候刷新的区域太大,现在已经解决,谢谢各位了!
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

19
 
shuiyan给了很多帮助,但是我在另一个板块也发了这个帖子,好像是他的另一个号回复,所以这个帖子结贴就不给shuiyan分了。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表