《学习OpenCV 3(中文版)》
791
2022-05-30
小结
在进入下一章之前,我们应该花些时间来盘点一下我们所处的阶段,并看看未来会发生什么。我们已经看到,OpenCV API为我们提供了各种易于使用的工具,用于读取和写入静态图像和视频以及从相机捕捉视频。我们还看到,库包含用于操作这些图像的基本功能。我们还没有看到库的强大元素,它允许对整个抽象数据类型进行更复杂的操作,这些数据类型对于解决实际的视觉问题非常重要。
在接下来的几章中,我们将更深入地探究基础知识,更详细地了解与接口相关的函数和图像数据类型。我们将研究原始图像处理操作符,然后再进行一些更高级的操作。此后,我们将准备探索API为各种任务提供的多种专门服务,如相机的校准、跟踪和识别。准备好了吗?赶紧上车吧!
练习
下载并安装OpenCV,如果之前还没有这么做的话。系统性地浏览它的文件夹结构。尤其是doc文件夹,在那里可以加载index.html,它可以链接到库的主文档。在此之后,浏览库的主要部分:core模块包含基础数据类型以及算法,improc模块包含图像处理和视频处理算法,ml模块包含机器学习和聚类算法,highgui模块包含输入输出功能。检查.../samples/cpp文件夹,那里有许多有用的例子。
1. 使用这本书或者http://opencv.org所提供的的安装、构建指令,在debug模式和release 模式下编译这个库。这也许会花一些时间,但是你需要编译得到的库和dll文件。同时注意设置cmake编译位于.../opencv/samples/文件夹下的例子。
2. 切换到.../opencv/samples/的编译输入目录(对我们来说,位于.../trunk/eclipse_build/ bin)然后查看lkdemo.cpp(这是一个运动追踪的示例)。连接上一个相机,然后运行代码,它会提示选择窗口,按下r来初始化追踪。你可以通过用鼠标点击视频中的位置来添加点。也可以通过按下n来切换到只查看追踪点的模式。再次按下n会在
“白天”和“夜晚”模式中切换。
3. 将示例2-11中的代码和示例2-6中的代码连接起来,建立一个读取视频并存储降采样后彩***像的程序。
4. 修改练习3中的程序,并结合示例2-2中窗口显示的代码来显示处理的图像。
5. 修改练习4中的代码,添加一个示例2-4中的滑动条,这样一来,用户可以动态控制金字塔的降采样等级(从2到8)。可以跳过存储的步骤,但要将处理结果显示出来。
视频 OpenCV
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。