OpenCV源码解析

OpenCV K-means源码解析html

OpenCV 图片读取源码解析c++

OpenCV 视频播放源码解析算法

OpenCV 追踪算法源码解析数据结构

OpenCV SIFT算法源码解析源码分析

OpenCV 滤波源码分析:bilareralFilter性能

OpenCV 数字识别解析spa

只捡须要的读.net

 

读懂OpenCV源码须要哪些基础?

通读过C++ Primer,目前C++属于入门级, 数字图像处理基础也有。目前看不懂OpenCV源码,请问还须要哪些基础, 从哪些方面入手源码比较好呢?谢谢
回答:
半年前实习的时候,在那个公司参与用OpenCV c++版本的开发公司本身的CV库。
体会还比较深,如今回想起来,大概会有这么一些建议:

1. C++须要多了解一下,建议看看Bjarne大神的书

OpenCV的C++版本是从新写过了的。
和之前的C版本是不一样的了。
和图书馆里常见的那本learn OpenCV 已经不一样了。

而对于C++来讲,头文件里的interface和注释其实就是文档了。
若是单从一个学图像处理,和作实现的人来讲,我以为这就够了。

可是,即便要看头文件无障碍,也须要花不少功夫:
大约就是Bjarne的书里不断强调的 interface 和 implementation如何隔离。
而openCV c++ 里面还用到了不少 范型 (templates).
由于图像处理的应用对性能比较敏感,不可能像常见的应用同样,能够容许class之间复杂的继承关系,而后在运行的时候,再去查找virtual function table。
它们须要在编译的时候,就把这种搜索完成,因而须要 compile-time polymorphism。

2. 从 OpenCV 的文档开始

我以为不要从源代码开始,而应该从官方的文档开始。
官方的文档介绍了不少它的设计思路,尤为是 C++版本的基本数据结构很重要。

3. 若是想要了解某个特征或者处理的具体实现,源代码不是最好的途径

我记得当时实习时要用到了某个特征。
实际上就原来来说是很是简单的。
可是,当你真的去看源代码的时候,那就不容易了。
那是根据一片后来的文章实现的线性复杂度的算法。
我我的是属于算法与数据结构功底较差的,因此,当时看源代码对我来讲反而更加吃了和无从下手。

实际上,网上的,尤为是国外的公开课教程是很棒的。

祝好。https://www.zhihu.com/question/28880447
相关文章
相关标签/搜索