前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用python武装你的后院

用python武装你的后院

作者头像
Crossin先生
发布2018-04-17 09:26:35
7540
发布2018-04-17 09:26:35
举报
文章被收录于专栏:Crossin的编程教室

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

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

抛开中间具体的技术细节,大概的流程差不多就是:

1

把摄像头拍下来的画面用OpenCV处理。OpenCV是一个计算机视觉库,其中有个做Blob Detection的库cvBlobsLib,用它来从图像中分析出前景物体,也就是有可能会是松鼠的区域。

2

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

3

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

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

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

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

#==== Crossin的编程教室 ====#

面向零基础初学者的编程课

每天5分钟,轻松学编程

回复『 p 』查看python课程

回复『 g 』查看pygame课程

回复『 t 』查看习题

回复『 w 』查看其他文章

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2013-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档