新手入门Opencv的建议

 

        先来一段百科的官方原话:OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

       看到这里就足以知道Opencv的强大了吧,关键还是开源的!!!在机器视觉越来越火的的今天,作为IT攻城狮掌握一套强大好用还免费的算法库是必不可少的,相对于商业收费昂贵的Halcon,武林盟主的地位非他(opencv)莫属了。

       好了,废话少说,步入正题:很多做了C++很久的攻城狮们,如何快速入门Opencv 呢?我觉得要注意以下几方面:

  • OpenCV的基础知识掌握:掌握C++或者JAVA或者Python等任何一份应用开发语言。如果之前没有做过C++,或者JAVA,想要快速入门视觉处理的,可以从Python开始,这是最好的敲门砖(相对于C++来说),Pthon简单好学,上手快,尤其最近opencv在IT领域火得一塌糊涂。当然对于那些有一定C++或者JAVA编程经验的职场老油条来说,直接在本领域使用opencv库做开发是最好不过了,一切都来得左右逢源。
  • OpenCV的版本:作为从事C++开发有将近10年的老鸟来说,个人建议入门的Opencv版本并不是越新越好,尽管现在版本更新很快,已经到4.1.0。我是在2008年无意中看到过《学习OpenCV》这本书的,应该还是第一个关于opencv的版本,那时候视觉处理刚起步,物联网的概念也刚刚提出,记得那时候还去中科院微电子研究所听过一些物联网提出的讲座,万物互联,只可惜那时候没有引起太多注意,想不到现在这么火。现在网上最多的可以学习的资料基本都是2.4左右的版本,因为这个版本最稳定,支持的电脑也最普遍。个人建议如果是要学习opencv,可以从2.4.9这个版本开始,可以参考的资料太多了,避免走很多弯路。

Opencv发展到3.0以后的版本,使用CMake转化出来的Visual Studio工程,编译问题比较多,动不动就各种编译不过,对于新手很可能就是一个毁灭性的打击。比如下面在win7 X64上编译的3.7.6的版本,就一大推编译问题,而且网上可以参考的资料很少,大部分都是要靠自己的摸索去解决。4.0以后的版本更是对编译条件更加苛刻,还要C++11的支持,VS的版本这些都有是限制的。

  • 多动手,爱总结。最开始的时候可以手动一个个字母去模仿敲打一下,这样可以快速把常用的一些函数熟悉,有一定水平后就可以找一些简单的例子去做了,去尝试解决一些工程问题,比如计算图片中某些图元的中心;计算某些图形的面积;再深入一点就是使用模版匹配去找目标,并计算出目标的位置等等这些都是很实用的基本技能,工程领域应用非常之广。还有非常重要的一点是把自己实战的案例一个个写下来,可以发表在博客,发表在头条,有一句话是这么说的:能分享出来的东西,才是自己已经掌握的有价值的东西。

路漫漫其修远兮,吾将上下而求索!与君共勉。

你可能感兴趣的:(技术,OpenCV,C++)