Mind+和Scratch有很多相似之处,但是Mind+支持主流主控板以及上百种开源硬件,更有多项人工智能(AI)与物联网(loT)功能,之前我们实践过利用Mind+的AI图像识别功能和电脑来一场猜拳。而且AI的图像识别功能还远远不止这点,通过AI图像识别我们还可以增加自己的人脸数据库,并根据人脸识别获取年龄……功能十分强大。
前段时间在抖音上流行的火柴人跳舞视频,人们身上贴着不同颜色的荧光棒,在漆黑的环境下就像一个个火柴人,在跟随着音乐的旋律舞动(图1)。
今天我们用Mind+人工智能和画笔工具来完成模拟火柴人跳舞的绘制。我们用AI通过识别一些身体关键点比如说头部、耳、肩、脚踝这些部位,使用画笔工具,将这些关键点用画笔连接起来,注意要根据火柴人的形象在需要的地方抬筆、移动和落笔。快来一起试试看吧。由于AI识别是使用扩展功能,只要掌握技巧代码难度比较低,但是代码重复量比较大,编写后要注意测试。源代码请扫码下载(图2)。
让我们来看看程序整体的思路:首先将视频的透明度设置为50,也就是产生一层淡淡的模糊效果,接下来开启摄像头,舞台中会显示我们摄像头的画面,摄像头会识别画面中截取到的人物的关键点信息(面部信息等等),识别成功后,开启画笔工具,调整合适的画笔的粗细以及画笔颜色(这里我选择了粗细为3,颜色为蓝色的模板)(图3)。
按照顺时针的方向,首先移动到我们的头部的位置接下来移动到左耳的位置,再到脖子、左肩、左手肘、左手腕、左膝、左脚踝……左边绘制完成之后再接着绘制右边部分。在绘制的过程中需要注意抬笔和落笔的控制,一不小心可能会连接到一起,大家也可以在绘制的过程中进行调试看看如何绘制得圆润光滑一些(图4)。
这种通过AI获取的识别人体的关键点的方法是最简单的,只需要掌握画笔的抬笔和落笔,从人体部位出发绘制出火柴人的头、肩膀、身体和四肢就可以了。当掌握这个基本方法后你还可以尝试更高级的方法,想想能不能用某些算法来绘制火柴人。