zoukankan      html  css  js  c++  java
  • opencv打开摄像头获取视频程序

    //
    //  main.cpp
    //  opencv3
    //
    //  Created by PKU on 14-9-16.
    //  Copyright (c) 2014年 PKU. All rights reserved.
    //
    
    
    #include <opencv2/opencv.hpp>
    using namespace cv;
    using namespace std;
    
    
    int main()
    {
        CvCapture* capture=cvCaptureFromCAM(-1);
        CvVideoWriter* video=NULL;
        IplImage* frame=NULL;
        int n;
        if(!capture) //如果不能打开摄像头给出警告
        {
            cout<<"Can not open the camera."<<endl;
            return -1;
        }
        else
        {
            frame=cvQueryFrame(capture); //首先取得摄像头中的一帧
            video=cvCreateVideoWriter("camera.avi",CV_FOURCC('M', 'J', 'P', 'G'),32,
                                      cvSize(frame->width,frame->height)); //创建CvVideoWriter对象并分配空间
            //保存的文件名为camera.avi,编码要在运行程序时选择,大小就是摄像头视频的大小,帧频率是32
            if(video) //如果能创建CvVideoWriter对象则表明成功
            {
                cout<<"VideoWriter has created."<<endl;
            }
            cvNamedWindow("Camera Video",1); //新建一个窗口
            while(1)
            {
                frame=cvQueryFrame(capture); //从CvCapture中获得一帧
                if(!frame)
                {
                    cout<<"Can not get frame from the capture."<<endl;
                    break;
                }
                n=cvWriteFrame(video,frame); //判断是否写入成功,如果返回的是1,表示写入成功
                cout<<n<<endl; 
                cvShowImage("Camera Video",frame); //显示视频内容的图片 
                if(cvWaitKey(1)>0) break; //有其他键盘响应,则退出 
            } 
            cvReleaseVideoWriter(&video); 
            cvReleaseCapture(&capture); 
            cvDestroyWindow("Camera Video"); 
        } 
        return 0; 
    }
  • 相关阅读:
    20100920 [随笔] -Roy
    20100826 [随笔] Roy
    20100820随笔Roy
    20100825 [随笔] -Roy
    博客园开博随笔
    Synchronized vs SyncRoot
    Exception vs ApplicationException
    Monitor用法
    捕获ASP.NET程序发生的异常
    理解ParseChildren用法
  • 原文地址:https://www.cnblogs.com/lakeone/p/3977945.html
Copyright © 2011-2022 走看看