opencv初步学习总结.doc

opencv初步学习总结.doc

ID:49547600

大小:2.06 MB

页数:12页

时间:2020-03-02

opencv初步学习总结.doc_第1页
opencv初步学习总结.doc_第2页
opencv初步学习总结.doc_第3页
opencv初步学习总结.doc_第4页
opencv初步学习总结.doc_第5页
资源描述:

《opencv初步学习总结.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、近几周通过对C语言及OPENCV的逐渐学习,初步了解了OPENCV的一些知识,现在对自己的学习做一个总结。OpenCV是一个开源的计算机视觉库,其采用C编写,被设计成为可移植的函数库,OpenCV的设计目标是执行速度尽可能的快,其主要关注的是实时应用。OpenCV的结构和内容:上面这幅截图是OpenCV源码的文件组成结构,可以看出其中包括cv,cvaux,cxcore,highgui,ml这5个模块。CV:包含了基本的图像处理函数和高级的计算机视觉算法,包括图像处理,图像结构分析,运动描述和跟踪,模式识别和摄像机标定。ML:

2、是机器学习库,包含一些基于统计的分类和聚类工具。HighGUI:包含图像和视频的输入/输出函数。CXCORE:包含了OpenCV的一些基本的数据结构和相关函数。CVAUX:该模块则是一般用存放即将被淘汰的算法和函数,同时也包含一些新出现的实验性的函数和算法。下面是我学习OPENCV时具体例子:(1)利用OPENCV加载一幅图片:刚开始学习是对OPENCV不怎么懂,不知道其怎么使用。最后发现OPENCV就是一个用做信号,图像等方面检测处理的C语言库,只要把库添加到VISUALC中便可以。然后我们用VISUAL做我们所需要的分析

3、处理。#include”highgui.h”Voidmain(){IplImage*img=cvLoadImage(“D:\02.jpg”);cvNamedWindow(“example1”,CV_WINDOW_AUTOSIZE);cvShowImage(“example1”,img);cvWaitkey(0);cvReleaseImage(&img);cvDestroyWindow(“example1”);}其实这个例子很简单,就是调用显示一张图片了。#include”highgui.h”这句是包含头文件了,highgu

4、i.h中包含图像处理,显示等方面的函数。IplImage*img=cvLoadImage(“D:\02.jpg”);该功能是将显示的图像加载至内存,cvLoadImage();执行后返回的是一个指针,此指针指向一块描述该图片属性信息的结构体。IplImage为一个结构体,专门用在图像的处理。我们也可以看下IplImage的数据结构其实他是这样定义的:Typedefstruct_IplImage{Intsize;Intid;IntnChannels;IntalphaChannel;Intdepth;………….}IplImag

5、e;从这里可以看见IplImage是结构体,并且怎么定义的。cvNamedWindow(“example1”,CV_WINDOW_AUTOSIZE);作用在屏幕上创建一个窗口,将被显示的图片包含在该窗口中,函数的第一个参数指定了该创建窗口的标题,第二个参数定义了窗口的属性,CV_WINDOW_AUTOSIZE表示窗口的大小随着图像的大小自动的缩放,如果此处该为0,则窗口的大小固定,不会随图片的大小缩放。cvShowImage(“example1”,img);在创建好的窗口中显示图像,第一个参数设定在你那个已经存在的窗口中显示

6、图片,第二个参数为一个指针。cvWaitkey(0);是程序暂停,等待用户触发一个按键操作,如果其中的参数值设定为正数时,程序暂停该正数个毫秒单位。这里也可以尝试,如程序写成:Charc=cvWaitKey(0);If(c==27){break;}意思是说当有ESC键按下时推出,(27为ESC的ASCII码)cvReleaseImage(&img);图片加载完成后,我们释放该图片所分配的内存。cvDestroyWindow(“example1”);释放为创建窗口分配的内存。(2)利用OPENCV播放AVI格式视屏:使用OPE

7、NCV播放视屏和使用它显示一张图片一样,都是比较容易的。以下这段程序实现播放一段视屏(注意是AVI格式的):#include"highgui.h"voidmain(){cvNamedWindow("example2",0);CvCapture*capture=cvCreateFileCapture("d:\test4.avi");IplImage*frame;while(1){frame=cvQueryFrame(capture);if(!frame){break;}cvShowImage("example2",frame

8、);charc=cvWaitKey(33);if(c==27){break;}}cvReleaseCapture(&capture);cvDestroyWindow("example2");}现在对程序做以解释:#include"highgui.h"cvNamedWindow("examp

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。