OpenCV之显示摄像头图像
来源:互联网 发布:杭州东站到淘宝城 编辑:程序博客网 时间:2024/05/16 14:42
OpenCV之显示摄像头图像
我们使用Opencv的函数来读取显示摄像头的图像,首先要声明图像指针,读取图像,创建窗口,然后显示每一帧的图像。
使用的函数
1.cvCreateCameraCapture
函数作用:初始化从摄像头中获取视频
C++ code
CvCapture* cvCreateCameraCapture( int index );
index:要使用的摄像头索引。如果只有一个摄像机时,参数值取0。
当参数被设置为-1时,OpenCV会打开一个窗口让用户选择需要使用的摄像机。
函数cvCreateCameraCapture给从摄像头的视频流分配和初始化CvCapture结构。目前在Windows下可使用两种接口:Video for Windows(VFW)和Matrox Imaging Library(MIL); Linux下也有两种接口:V4L和FireWire(IEEE1394)。
释放这个结构,使用函数cvReleaseCapture。
2.cvQueryFrame
OpenCV中一个函数cvQueryFrame从摄像头或者文件中抓取并返回一帧
C++ code
IplImage* cvQueryFrame( CvCapture* capture );
capture 视频获取结构。
函数cvQueryFrame从摄像头或者文件中抓取一帧,然后解压并返回这一帧。 这个函数仅仅是函数cvGrabFrame和 函数cvRetrieveFrame在一起调用的组合。 返回的图像不可以被用户释放或者修改。
cvQueryFrame的参数为CvCapture结构的指针。用来将下一帧视频文件载入内存,返回一个对应当前帧的指针。与cvLoadImage不同的是cvLoadImage为图像分配内存空间,而cvQueryFrame使用已经在CvCapture结构中分配好的内存。这样的话,就没有必要通过cvReleaseImage()对这个返回的图像指针进行释放,当CvCapture结构被释放后,每一帧图像所对应的内存空间即会被释放。
3.CvCapture
视频获取结构
C++ code
typedef struct CvCapture CvCapture;
while(1){ pFrame=cvQueryFrame( pCapture ); if(!pFrame)break; cvShowImage("video",pFrame); char c=cvWaitKey(33); if(c==27)break;}
结构CvCapture 没有公共接口,它只能被用来作为视频获取函数的一个参数。
这个是一个很重要的结构 以后无论是读取已有视频还是从摄像头获取都必须用到它,然后的工作就是把视屏显示出来
如果抓取帧为空 break 打破循环
否则将抓取的那一帧显示在创建的窗口上
cvShowImage(“video”,pFrame);
当前帧显示后
char c=cvWaitKey(33);
if(c==27)break;
我们等待33ms
如果用户触发了按键,将按键的ASCII值给C
如果C为ESC(ASCII 为27)循环退出
最后释放占用资源
4.实例代码
#include "stdafx.h"#include <cv.h>#include <cxcore.h>#include <highgui.h>int main( int argc, char** argv ){ //声明IplImage指针 IplImage* pFrame = NULL; //获取摄像头 CvCapture* pCapture = cvCreateCameraCapture(-1); //创建窗口 cvNamedWindow("video", 1); //显示摄像头图像 while(1) { pFrame=cvQueryFrame( pCapture ); if(!pFrame)break; cvShowImage("video",pFrame); char c=cvWaitKey(33); if(c==27)break; } //释放桢内存 cvReleaseCapture(&pCapture); cvDestroyWindow("video");}
- OpenCV之显示摄像头图像
- OpenCV之获取摄像头,显示图像
- Opencv调用摄像头,显示摄像头图像
- OpenCV入门学习之读取usb摄像头图像,实时显示
- OpenCV之摄像头捕捉图像
- 使用Qt+OpenCV+VideoInput 显示摄像头图像
- OpenCV 获取摄像头图像数据并显示
- MFC中使用OpenCV显示摄像头图像
- [opencv]MFC打开摄像头显示图像
- OpenCv打开摄像头,显示图像,保存视频
- opencv之显示图像
- OpenCV入门之显示图像
- OpenCV学习之显示图像
- OpenCV显示摄像头图像保存成bmp文件
- VS2008+MFC+opencv 显示视频图像/捕捉摄像头视频界面
- opencv实现摄像头的实时图像采集与显示
- MFC中使用OpenCV显示摄像头图像并二值化
- 【拜小白opencv】10-开启摄像头,显示图像;VideoCapture类
- 重写set方法时,要用set
- 2.8 开机启动时间设置
- 项目上线小结
- 树的子结构
- 快速解读GC日志
- OpenCV之显示摄像头图像
- ros中使用摄像头
- C++利用递归生成子集
- 与计算机相关的考试
- 二叉树的镜像
- StringBuffer传引用,删除原值,改为新值
- 自动化测试
- js+css制作悬浮提示层弹出特效
- cocos3.4 lua 工程打包为apk后运行一段时间闪退的问题