Crossin的编程教室

标题: 用python武装你的后院 [打印本页]

作者: crossin先生    时间: 2013-9-25 17:57
标题: 用python武装你的后院
backyard-genius-09-0912-lgn.jpg


在知乎上看到一个问题:“可以用 Python 做哪些神奇好玩的事情?”。被赞同最多的一个回答提到了一个叫做Kurt Grandis的程序员,他用Python做了一套自动防御水枪系统抵御他家后院时常出现的松鼠。在PyCon 2012会上,他分享了这个神奇的系统 -- Militarizing your backyard with Python。

squirrel1.jpg
整个系统的技术难度倒不是非常高,用了几样比较成熟的技术:OpenCV、Blob Detection、SVM、Arduino。

抛开中间具体的技术细节,大概的流程差不多就是:
1
把摄像头拍下来的画面用OpenCV处理。OpenCV是一个计算机视觉库,其中有个做Blob Detection的库cvBlobsLib,用它来从图像中分析出前景物体,也就是有可能会是松鼠的区域。

2
用SVM判断这些可疑数据到底是不是松鼠。关于SVM,你可以把它理解为一个分类器,你先用一堆正向和反向的数据去训练这个分类器,训练得差不多了,就可以用它来对一个新数据进行判别,属于哪一类。

3
发现松鼠之后,就要发动攻击。这位仁兄用了一把水枪,加上Arduino来完成了这项艰巨的任务。Arduino是一个开源的软硬件平台,它可以通过传感器感知环境,也可以通过灯光、马达等装置来产生反馈。你可以通过它来使你的代码真正“动”起来。

squirrel2.jpg

听说实现后的效果还不错,只是水枪的威力不够大,储水量也不够多。他还打算继续改进。

SlideShare上有他在PyCon的ppt,但可能这网站连不上(你们懂的),我上传一份在了论坛上。


另外说一句,他这个套系统用到的方法和我当年毕业论文非常相似,不过我不是打松鼠,而是做了一套用真人动作玩格斗游戏的系统。后来我也因此去到某知名游戏公司参与了当时还在内测阶段的kinect上游戏的开发。


#==== Crossin的编程教室 ====#
微信ID:crossincode
论坛:http://crossin.me
QQ群:156630350

面向零基础初学者的编程课
每天5分钟,轻松学编程


pythonthesquirrelhordes1-120312073052-phpapp01.pdf

1.5 MB, 下载次数: 122

ppt


作者: sauce_brother    时间: 2013-9-26 10:44
这个确实牛叉。回帖拿分走人。
作者: ahtian928    时间: 2013-9-26 12:40
这就是所谓的杀鸡用牛刀么  
作者: Janie    时间: 2013-9-27 12:46
牛叉·
作者: nemo    时间: 2013-10-1 12:42
我要写个程序打蟑螂
作者: crossin先生    时间: 2013-10-2 00:51
nemo 发表于 2013-10-1 12:42
我要写个程序打蟑螂

这个可以有,而且感觉需求会很大
作者: bulivyf    时间: 2014-1-23 17:04
我想知道是不是用的树莓派
作者: crossin先生    时间: 2014-1-23 17:57
bulivyf 发表于 2014-1-23 17:04
我想知道是不是用的树莓派

他这个没有用,直接接了台电脑吧
作者: war3mjq    时间: 2014-4-10 10:32
我要的就是分分
作者: linyu0923    时间: 2016-3-31 16:01
敬仰  科技改变生活
作者: 920428684    时间: 2017-2-22 17:44
也可以用单片机 无论是不是松鼠  全灭!
作者: crossin先生    时间: 2017-2-23 15:38
920428684 发表于 2017-2-22 17:44
也可以用单片机 无论是不是松鼠  全灭!

太凶残




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5