Flash的手写"识别"应用

今天乱逛时逛到了baidu的老人搜索http://123.baidu.com/(..自己汗一个..也不知道自己为什么逛那地方...)
看到了搜索框右方有一个手写输入的功能..点开后竟然是Flash做的..

于是开始着磨他的实现原理...
习惯性的打开httpfox..发现我每写一笔后..
flash都会向服务端发送一个请求...
结果就很明显了...
识别的功能是由服务端提供的...
flash只是记录用户的操作...然后再把结果显示出来...

于是开始分析他的请求协议...
服务端地址为http://hw.baidu.com/ (ps:hw应该为汉王,从flash左下角可以看出..识别技术或识别库由汉王支持..)
每次请求时post两个参数..分别为wdtype,其中type始终为1 (识别源的类型??)
而wd为"23a76a23a80a25a88a25a98a26a103a26a106"这样的数据

经过我不亚于柯南和金田一的智商分析后...(哎呀..谁乱丢砖块....)
发现上面的数字是笔画的坐标..
每两个数字为一组,分别代表x和y,中间用a做分隔...
以该手写区域的尺寸..范围大概是0~185左右..

于是写了个Flash测试了一下...
记录坐标就简单的..
侦听mouseMove..然后取x/y,先存数组或直接拼字符.
mouseUp的时候post提交识别请求...

半小时后...一个充满技术含量的手写"识别"Flash就出炉了...
(用鼠标在左边的田字格中写个字试试..)

广告时间....以上SWF经过DOSWF混淆..效果不错..



后话..虽然识别功能并非由Flash处理..
不过这也算是当前比较好解决的方案..
另外赞一下汉王的识别能力...像我这样狂草的字..识别率一样有95%以上..
(PS:本来请求速度是很快的..不过由于跨域的问题..所以由中转了一次..我的空间的速度当然跟baidu没得比了..稍有延迟纯属正常)
分类: ACTIONSCRIPT , 标签: , , ,

发布评论

注:邮箱址些公用作显示头像与回复之用 , * 号所在的选择必须填写.

*



9 Responses to Flash的手写"识别"应用


  1. 不要屏蔽啊。。。我一直想玩玩的。。。。


  2. 太神奇了.至少现在有了点思路.


  3. 踩过。很会分析嘛..


  4. 佩服 laan 已经吧你接口给封闭了


  5. laan胸别屏蔽啊,让我等小民也玩玩


  6. 小样敢盗版~~~
    这个项目现在我接手了~~~ 回头我让server屏蔽... 嘿嘿