1. 首页 > 电脑教程 > OpenCV是什么OpenCV入门级教程

OpenCV是什么OpenCV入门级教程

首先声明,这一系列博文是本人在学习 OpenCV 的过程中对自身学习的一个总结而已,仅作为 OpenCV 入门级参考,并没有什么内容值得高手参考,所以,只适合和我一样正值学习状态者阅读,高手无意者请飘过,但欢迎留言指教。

OpenCV 是一个开源的计算机视觉库,其采用 C/C++ 编写,被设计为可移植的库,OpenCV 的设计目标是执行速度尽可能的快,其主要关注的是实时应用,同时,OpenCV 的另一个目标是构建一个简单易用的计算机视觉框架,以帮助开发人员更便捷地设计更复杂的计算机视觉相关的应用程序。

OpenCV 的结构和内容

上面这幅截图是 OpenCV 源码的文件组成结构,可以看出其中包括 cv ,cvaux , cxcore , highgui , ml 这 5 个模块。

如果以库来体现这几个模块之间的关系的话,可以采用下面的结构图来展现:CV: 包含了基本的图像处理函数和高级的计算机视觉算法,包括图像处理,图像结构分析,运动描述和跟踪,模式识别和摄像机标定。

ML: 是机器学习库,包含一些基于统计的分类和聚类工具。

HighGUI: 包含图像和视频的输入/输出函数。

CXCORE: 包含了 OpenCV 的一些基本的数据结构和相关函数。

CVAUX: 该模块则是一般用存放即将被淘汰的算法和函数,同时也包含一些新出现的实验性的函数和算法。

关于 OpenCV 的介绍到此介绍,下面呢,就是通过一个 Demo 来学习一些常用的 API 的使用。

Demo 学习

Demo01

下面的 Demo 将介绍如何显示一张图片,具体 API 的使用请注意注释。

//在HighGUI 模块中包含了图像和视频的输入/输出的基本函数 #include "highgui.h" //使用了命令行下运行的形式,其中要在命令行下传递参数 int main(int argc,char ** argv){//通过cvLoadImage 将一幅指定路径的图片加载到内存中 //同时会生成一个IplImage 类型的结构 //这个结构会指向图片所在的内存区域 IplImage * image=cvLoadImage(argv[1]); //通过cvNamedWindow 来建立一个窗体 //因为图片必须在指定的窗体中才能显示 cvNamedWindow("Demo01",0); //通过cvShowImage 函数来指定在指定的窗口中显示指定的图片 cvShowImage("Demo01",image); //暂停程序的执行 //只有当用户按下任意键后才执行后面的代码 cvWaitKey(0); //释放掉加载到内存中的图片所占的内存资源 cvReleaseImage(&image); //销毁窗口 cvDestroyWindow("Demo01"); }

至于程序的执行的话,必须到命令行下执行,同时还需要将一张图片拷贝到 exe 文件所在的目录,然后再在命令行中指定该图片作为参数传递到 Main 函数中。

声明:希维路由器教程网提供的内容,仅供网友学习交流,如有侵权请与我们联系删除,谢谢。ihuangque@qq.com
本文地址:https://www.ctrlcv.com.cn/diannao/169323485010724.html