一起玩OpenCV?

 

OpenCV(Open Source Computer Vision Library)是一个基于BSD许可(...





OpenCV(Open Source Computer Vision Library)是一个基于BSD许可(开源)发行的跨平台计算机视觉库,于1999年由Intel建立,如今由Willow Garage提供支持。可以运行在Linux、Windows和Mac OS等操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。当前最新的版本是3.1.0,发布日期是2016年1月29日。

例子:Android系统上实现移动物体的动态跟踪

打开你的手机相机,启用人脸识别选项,当手机屏幕中出现人脸时,会在人脸四周出现一个方框。比如下面的示意:



图中,在每个小朋友的头部都有一个绿色方框。当小朋友移动时,绿色方框应能跟着移动。

再高级点的功能,假设有一台机动装置,把手机安装在上面,当点击某个小朋友的绿色方框后,装置自动旋转,使小朋友头部出现在手机屏幕中央。当小朋友移动时,装置持续旋转,使小朋友头部保持在手机屏幕中央。

上面只是举个例子,实际应用中会有车辆等其他物体,不一定是人物。

当然,如果实现完整功能,需要涉及到机动装置的设计,但最最基础的,是图像识别和移动物体的动态跟踪。

OpenCV项目规模很大,单是Android版的开发包就有166M之大,其项目文档更是巨型无比。另外,图像处理是一个比较专业的领域,即便是仍然保留着大学那点数学基础,也不足以领略其中一二,更不用说目前几近于负的数学底子了。因此,想要完全啃透是不可能了,也没有必要。

对于大型的开源项目,往往会有相应的中文论坛,这是我们首先要去看的。比如OpenCV的中文论坛是http://www.opencv.org.cn/,我们可以率先从这里入手。要说项目资料,自然是官网最为权威,而中文论坛一般会有翻译过来的资料,以及国内开发者的讨论帖子,因此官网相应的中文论坛是上上之选。这里需要注意,仍然是快速浏览,无需细抠。

如果中文网页无法满足你的需求,就需要使用英文关键字并通过谷歌搜索。善用谷歌的自动推荐,是一个不错的技巧。搜索时采用自然语言顺序翻译,谷歌会提供相应的搜索推荐。

国内谷歌墙的厉害,作为开发者,学会翻墙是个必备技能。修改hosts文件当然可行,但IP往往变更的很快,且需要经常手动变更。除此之外,VPN是个不错的选择,当然,好的VPN会让你付出一点费用(我用的VPN是30块5个G,一般搜搜资料,用个大半年也就够了,当然如果你要上土鳖看视频神马的,还是包月的要划算些)。

更多学习了解请阅读2016年10月出版的《OpenCV项目开发实战》。


    关注 六部阅读


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册