原文链接:http://www.juzicode.com/archives/6339
OpenCV作为一款开源图像处理库,提供了丰富的文档供开发者使用、查阅,在这些文档中提供了丰富的教程、API接口说明、例程、Q&A。
教程
在OpenCV的官方网站(www.opencv.org)首页上找到在线文档的入口Online Documentation(docs.opencv.org),
以当前(21.6)最新稳定版4.5.2为例,进入4.5.2版本的文档主页:
在网页上方也能看到当前进入的是哪个版本的文档,在这里也可以通过下拉菜单选择不同的版本,这一点对于追踪某些接口的变化非常好用。
帮助文档分为几个部分:
- Introduction:简介;
- OpenCV Tutorials:OpenCV教程,包含了C++、JAVA、Python接口;
- OpenCV-Python Tutorials:OpenCV Python接口教程,只针对Python接口;
- OpenCV.js Tutorials:JS接口教程;
- Tutorials for contrib modules:contrib包教程;
- Frequently Asked Questions:常见问题,已经迁移到https://github.com/opencv/opencv/wiki/FAQ
- Bibliography:参考文献
以OpenCV Tutorials为例,它涵盖了几乎所有的功能模块,在每个功能模块中有多篇教程,每篇教程中例子实现的语言可以自由选择C++、JAVA或Python:
进入到OpenCV-Python Tutorials,这里是专门的Python接口教程,可以看到这个教程也包含了各种常用的功能模块,这个教程是前者的补充和完善:
进入到每篇教程内部,可以看到有非常丰富的例程源码、结果演示、函数内部实现和接口介绍:
API接口
在前述提到的在线文档主页上也提供了全局检索功能,在网页右上角的搜索栏输入关键字,可以搜索到相关的网页,可以用来查找接口函数或常量类型等。
比如上图所示搜索imshow函数,会显示多个搜索结果,这里默认显示的是C++接口的函数,上图中前2个是命名空间为cv中的函数,第3个为命名空间为cv:viz中的函数,可以选择其中一个查看详情,以第1个函数为例,每个函数包含了接口形式、功能描述、注意事项和参数说明等几部分内容:
又比如搜索色彩空间转换枚举变量的前缀COLOR_,可以找到完整的枚举变量名称,它也区分了C++和Python的不同接口使用方法:
例程
在Examples频道下提供了很多C++例程,这些例程包含了完整的实现:
这里的每个例程是可以直接编译运行的:
一些例程还配备了演示效果,不用运行就能了解程序的运行效果: