越来越觉得读源码是很正确的学习方式,编程如同写作一般,不是学会了关键词,学会了数据结构,就可以写出perfact的代码,而是需要一点起承转合,需要一点模仿:
取连接之意
而且越来越觉得其实写不是很重要,而是要设计,学编程初期不是很理解为什么书上面说有了流程图,就可以写程序了。其实哪个时候是拘泥于一门语言,满满的细节,其实到最后会跳出语言的限制,什么语言都无所谓,关键是想明白为什么?读源码会加速对一门语言的理解,会学到惯用法,你天天读书说话的时候自觉不自觉的,肯定有股味道,读书味,好代码看多了,写东西也有好代码的味道。
这次选了一个眼动的代码,很短,而且是视觉类的,尝试在两篇文章内读完。
项目运行起来很简单,先安装库:
pip install -r requirements.txt
ok
python example.py
运行
另外dlib是一个高性能的C++库,是文章中使用的依赖库:
http://dlib.net/
由Davis King开发的 dlib C++ 库是一个用于线程、网络、数值运算、机器学习、计算机视觉和压缩的跨平台包,非常强调极高质量和可移植的代码。dlib 的文档也非常棒。
从计算机视觉的角度来看,dlib 有许多最先进的实现,包括:
1.面部标志检测
2.相关性跟踪
3.深度度量学习
安装的时候没有经过很多的步骤,应该是Python都编译好了。
功能丰富
有一说一,本来是准备放个图的,但是我就不好出面了。。。
先从摄像头获得一帧图像
把帧发给分析线程
分线线程
先对帧转换颜色空间,转成灰度的。
传给dlib库
不知道返回值是什么
这篇不纠结具体的细节,先大致流程理一下。
读取到上面的帧以后,检测我们眼动的方向,检测到在图层中叠加显示一些东西。最上面的文字
痛,本来不想发照片的
接着是显示眼球上面的坐标
寻找我的瞳孔
最后释放资源
https://pyimagesearch.com/2017/03/27/how-to-install-dlib/