万里之行,始于足下。OpenCV,从我了解到现在使用,也有两三年的时间了。期间,有很多朋友问我,OpenCV与OpenGL的功能与区别,开始我也不甚了了,后来才明白,其实他们有很多相似的地方,重要的是偏重点不同。OpenCV偏重与视觉理解,OpenGL偏重于视觉表达。举一个可能不太恰当的例子,OpenGL是眼睛,是画板,我们得到的是多彩世界的真实显现,而OpenCV偏重于对这些信息的处理,理解,通过OpenCV的理解计算机可以知道图像的哪一部分是圆的,哪一部分是方的。
OpenCV不是语言,是开放计算机视觉的库,是从事计算机视觉尖兵利器。其中里边很多有用数学公式函数,可以应用在很多领域。总之,能学到OpenCV,是我们的幸运,正如我们站在巨人的肩膀上,我们将看得更远,爬得更高!
闲话少说,进入正题。先说OpenCV的结构
CXCORE——包含数据结构,矩阵运算、数据变换、对象持久、内存管理、错误处理、动态装载、绘图、文本和基本的数学功能等。
CV——包含图像处理、图像结构分析、运动描述、模式识别和摄像机标定
ML——包含许多聚类、分类和数据分析函数
HighGUI——包含图形用户界面和图像和视频的读写。
CVCAM——摄像机接口,在OpenCV1.0以后的版本被删除。
Haartraining——如何训练boosted级联物体分类器。