学习opencv(一)--图像显示

本文介绍了使用OpenCV进行图像和视频处理的基本方法,包括图像的加载与显示、窗口管理及视频播放等核心功能。通过具体函数如cvLoadImage(), cvNamedWindow(), cvShowImage(), cvCreateFileCapture() 和 cvQueryFrame() 的应用实例,帮助读者快速掌握OpenCV的基础操作。

图像显示

1. cvLoadImage()--IplImage* img=cvLoadImage(argv[1]) 函数是一个高层调用接口,它通过文件名确定被加载文件的格式;并且该函数将自动分配图像数据结构所需内存。需要指出的是,cvLoadImage()函数可读取绝大多数格式类型的图像文件。该函数执行完毕后将返回一个指针,此指针指向一块为描述该图像文件的数据结构而分配的内存块。

2. cvNamedWindow()--cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE) 函数用于在屏幕上创建一个窗口,将被显示的图像包含于该窗口中。函数的第一个参数指定了该窗口的窗口标题,如果要使用HighGUI库所提供的其他函数与该窗口进行交互时,我们将通过该参数值引用这个窗口;第二个参数定义了窗口的属性。该参数可被设置为0(默认值)或CV_WINDOW_AUTOSIZE,设置为0时,窗口的大小不会因图像的大小而改变,图像只能在窗口中根据窗口的大小进行拉伸或所放,而设置为CV_WINDOW_AUTOSIZE时,窗口则会根据图像的实际大小自动进行拉伸或所放,以容纳图像。

3. cvShowImage--cvShowImage("Example1",CV_WINDOW_AUTOSIZE) 只要有一个与某个图像文件相对应的IplImage*类型的指针,我们将可以在一个已创建好的窗口中使用cvShowImage()显示图像。cvShowImage()函数被调用时,该窗口将被重新绘制,并且图像也会显示在窗口中。

4. cvWaitKey() --cvWaitKey(0) 使程序暂停,等待用户出发一个按键操作。但如果该函数参数设为一个正数,则程序将暂停一段时间,时间长为该整数值个毫秒单位,然后继续执行程序,即使用户没有按下任何键。当设置该函数参数为0或负数时,程序将一直等待用户出发按键操作。

5. cvReleaseImage()--cvReleaseImage(&img) 一旦用完加载到内存的图像文件,我们将可以释放为该图像文件所分配的内存。我们通过为cvReleaseImage()函数传递一个类型为IplImage*的指针参数调用该函数,用以执行内存释放操作。

6. cvDestroyWindow()--cvDestroyWindow("Example") 销毁显示图像文件的窗口。cvDestroyWindow()函数将关闭窗口,并同时释放为该窗口所分配的所有内存

AVI视频播放

1. cvCreateFileCapture()--CvCapture* capture=cvCreateFileCapture(argv[1]) 通过参数读入AVI文件,返回一个指针指向CvCapture结构的指针。这个结构体包括了所有关于要读入AVI文件的信息,其中包含状态信息。在调用这个函数后,返回指针所指向的CvCapture结构体被初始化到所对应AVI文件的开头。

2. cvQueryFrame()--frame = cvQueryFrame(capture) 一旦进入while(1)循环,便开始读入AVI文件,cvQueryFrame的参数为CvCapture结构的指针。用来将下一帧视频文件载入内存(实际是填充或更新CvCapture结构中)。返回一个对应当前帧的指针。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值