嘿嘿!我用Python做了个孙悟空玩转如意金箍棒

马上暑假就要到了,很多小朋友也要放假啦。暑假里最熟悉的电视节目,非《西游记》莫属了,对于这部电视剧,想必大家不会陌生,小编最喜欢的就是孙悟空手里的如意金箍棒,此棒重一万三千五百斤,可自由伸缩,实乃神器。

每当孙悟空让他自由伸缩,变大变小,小编都想自己能有这样的一件趁手兵器。正好暑假的小外甥要来北京玩。想到这里,小编决定用Python做一个小的趣味程序给我小外甥。只要喊出“大”或者是“小”,便可以控制金箍棒自由的变换大小,还等什么,快来跟小编看看如何实现的吧。

 1

总体思路

今天的程序,用到的主要有多线程,speech_recognition语音识别库还有opencv图像处理库。我们首先来看一下程序执行的流程图,如下图所示:

程序主要分为三个部分,分别是三个线程,分别掌控金箍棒图片的播放,收集麦克风的声音,还有就是展示孙悟空的图片。我们分别来看一下每一个线程的程序和具体的实现作用。

 2 

控制金箍棒

如何播放金箍棒的图片呢,其实用也不难。我们首先将一张图片等比例的缩放为29张不同尺度的图片,将其存储到指定的文件夹下,然后利用线程1来不断播放金箍棒的图片。程序和图片存储如下图所示。

上述的程序中,显示的是我们等比例缩放的19张图片,然后我们利用下面的程序来不断的显示图片,instruction负责控制图片是不断的变大还是变小。

 3 

声音的采集

接下来是对于对于语音的采集,我们需要利用语音来控制金箍棒的变大变小,其实也就是控制instruction这个变量。程序如下图所示:

上述程序中,我们利用speech_recognition库来不断的监听麦克风,并将提取到的语音转换成文字,根据文字信息来判断instruction内容是否需要改变,从而改变线程1中图片是变大还是变小。

显示孙悟空的照片

最后一个线程的作用,就是在电脑桌面上显示一个孙悟空的形象,使游戏显得更加生动,程序如下所示:

以上就是三个线程分别的程序和作用的讲解,最后我们来视频展示一下游戏的效果吧。

需要源码可以在后台输入:【金箍棒】

end

近期十大热门:

由菜鸟学Python原班人马打造的公众号【程序员GitHub】,专注于分享GitHub上有趣的资源包括,Python,Java,Go语言前端学习等优质的学习资源,爆料程序员圈的新鲜趣事,热门干货,职场感悟,感兴趣的小伙伴可以来捧场!



点这里,进菜鸟学PythonB站大本营

猜你喜欢

转载自blog.csdn.net/cainiao_python/article/details/107273675#comments_27666974