RT-Thread 柿饼UI暑期实习生 实习分享(三)

2019-8-12 08:43 [复制链接] 3 549

8 q7 x  |! J" e

RT-Thread 柿饼UI暑期实习生 实习分享(三)

2 P: z: z6 w' r* F$ E+ K; C

转眼间,第三周又过去了,新的一周又开始了,我又来分享我过去一周的体验了。

: E3 L( @7 `! ^$ t

工作总结

  g" d$ ~- {& c( K

我将上一周的工作内容总结为主要以下三点:4 L9 U8 A4 X; }  I 1.为了助力电赛,我简单结合了智能家居DIY—分布式无线温度监控系统,在柿饼派上设计了简单的温度监控界面,通过串口采集多路温度信息,实时显示在屏幕上,同时使用网络API,将数据上传到MQTT服务器,并将整个过程写成了一篇帖子发布到了论坛上。
/ B( A6 H. S% Z9 V1 S) x/ ?; {. j2.上周末我自己为“太空跳跃”游戏demo设计了全新的素材,大家说希望看到完整的游戏,当然了,做出来肯定还是会秀一下的;但是因为游戏是要在更大的新屏上运行的,所以我做的第二件事就是把工程重新移植了一遍,顺便稍稍作了点调整,距离和大家见面应该不远了,希望大家不会失望,哈哈~
5 b: D- }9 w- x7 z' Q( x3.最后一件事稍微有些繁琐复杂,因为希望在游戏中加入AI的元素,我上周剩下的时间就进行了“手势识别”的探索,但是说实话AI不是我搞得定的,所以就尽量找现成的,主要做了以下工作:
8 C3 }( [' h; N: {# B1).(上上周)使用K210进行静态手势识别(图像分类),采用tensorflow lite模型,但在转换模型时遇到算子不支持的情况,综合考虑,转战更成熟更靠谱的openmv。
1 A& E- E4 z& x" E) g+ A6 |$ i2).openmv官方回复:openmv不能做手势识别,没这个算法;论坛网友回复:可以,做过;. i. O' }! o0 Q1 F 于是我亲手进行了实践,算法确实是没有,但是我采用了三种方式进行实践:
; [7 T. s& Q8 G3 s1.LBP特征识别:openmv的例程是用来识别人脸的,我将之用来识别手势,其实还是可以识别的,但是识别成功率较低。
' X4 V# q# Y* z5 C7 j7 \% l2.模版匹配:识别效果稍好一些,但是只能针对特定大小,特定角度的图像进行识别,不适合游戏场景。7 M5 B$ y. f7 [1 a5 { 3.颜色识别:这个其实就不能算是手势识别了,但咱们转变一下思路,把颜色应用于手上,也不失为一种办法;而就颜色识别来讲,openmv的分辨速度是极快的,这对于应用于游戏场景是非常合适的。1 ?+ N: z; y0 d6 Q  }; A 总结以上的探索,真正要实现手势识别,需要做大量的工作,在没有足够优化的算法的情况下,识别效果和识别速度都是不能满足游戏要求的;将颜色识别作为“伪手势识别”,能解决上述所有问题;综上所述:采用颜色识别!

  D+ K' }# g7 r# S

工作感想

! k  E9 i5 W2 l9 [/ M2 _" B8 q

实习到现在也有三周了,我的主要精力还是做游戏,当然最终目标是要完成实习生挑战赛嘛,所以我就分享一些做游戏和学习JS的感想(个人想法):
2 o4 w, Z2 z9 R- x: T7 Y+ V8 _从一开始不会JS,然后快速学习了基本语法,再到学习飞机大战demo,这整个过程都是“假的”,这个“假的”怎么说呢,我感觉是因为你本身熟悉某种编程语言,所以到你学习新的语言,你可以很轻易上手,特别是大家都说简单的JS,然后你看别人的源码,你也会感觉句句看得懂,没难度;但是当我真正想动手写一个游戏时,尽管我脑海里想好了这个游戏是怎样怎样的,第一句代码我竟无处下手,所以说实话,我的“太空跳跃”是跟着飞机大战的框架走的,不然你硬憋出来也不可能,诶~就是在这个模仿的过程中,我开始清晰了,你一个动作一个函数,动作是画在画布上的,动作的过程靠的是定时器,再加上各种逻辑判断……游戏基本就成型了(可能说得比较简单,嘻嘻)。然后在我模仿写了一遍游戏,再移植了一遍游戏过后,我在闲暇时间又回头去看了JS语法!!!我觉得我那时候才算是学到了JS。所以说,学习固然重要,但是实践了才能验证你是否掌握,总结回顾才是你真正的领悟!

' H1 \+ v$ A# q: x" l9 ^

愿我的实习继续充实美好,分享结束,谢谢大家!

& c9 G* r3 j  O$ N* P) Q4 i: N
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-8-12 10:24:53 | 显示全部楼层
无图无真相
使用道具 举报 回复
发表于 2019-8-12 13:28:51 | 显示全部楼层
"学习固然重要,但是实践了才能验证你是否掌握"
' q# F. Q# M, S! f, `9 y4 r  ^1 K
4 Q* `" ]$ H+ _" U! s赞总结!学习是学习,实践动手才是最重要的,这样才会达到最终的掌握,并融会贯通。这点上我也属于比较笨的,学习了,没感觉,那么就动手嘛。所以,学习编译原理,不知道是什么,就写了个finsh;学习了操作系统,不知道具体是什么,就写了个RT-Thread……相信大家都能的
使用道具 举报 回复
发表于 2019-8-19 11:31:04 | 显示全部楼层
bernard 发表于 2019-8-12 13:286 U1 g2 U1 U: {3 f5 U, f  \/ f8 S6 h
"学习固然重要,但是实践了才能验证你是否掌握"
. M& H2 @5 A6 Y+ F" |
& p1 N' O- i+ }) v6 l: W" P赞总结!学习是学习,实践动手才是最重要的,这样才会达到 ...
2 @8 F3 a$ k9 `
熊大的经验很棒
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表