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;
}
时间: 2024-10-12 08:13:22

opencv打开摄像头获取视频程序的相关文章

opencvbase 实现opencv打开摄像头和初步处理等效果操作(附源码)

// TwoCameraOnTimer2Dlg.cpp : 实现文件 /* CvMat, Mat, IplImage之间的互相转换 IpIImage -> CvMat CvMat matheader; CvMat * mat = cvGetMat(img, &matheader); CvMat * mat = cvCreateMat(img->height, img->width, CV_64FC3); cvConvert(img, mat) IplImage -> Mat

OpenCV打开摄像头失败

<span style="font-family: Arial, Helvetica, sans-serif;">#include <stdio.h></span> #include <cv.h> #include <cxcore.h> #include <highgui.h> int main( int argc, char** argv ) { //声明IplImage指针 IplImage* pFrame =

opencv打开摄像头并新建窗口显示

几个程序使用的基本函数如下: ******************************************************************* cvCreateCameraCapture 初始化从摄像头中获取视频 CvCapture* cvCreateCameraCapture( int index ); index 要使用的摄像头索引.如果只有一个摄像头或者用哪个摄像头也无所谓,那使用参数-1便可以. 函 数cvCreateCameraCapture给从摄像头的视频流分配

openCV打开图像或视频时绝对路径输入格式

在openCV中打开图像或视频的方法有多种,最常用的有 1.只需输入文件名和后缀名 当需要打开的文件存放在工程文件下的test文件夹下时,只需输入文件名和后缀名,博主在这提醒初学者,一定注意后缀名问题,我已吃过很多次亏了,一个有效的办法是加一个验证过程,如下代码所示: Mat image = imread("pp.jpg",0); if (image.empty()) { cout << "error"; return -1; } cout <&l

python+opencv打开摄像头,保存视频、拍照功能的实现

本节主要学习的是通过 .VideoCapture() 调用摄像头读取图像数据,以及使用 cap.set( propId , value ) cap.get( propId ) 获取或者更改视频属性. 其中,propId 的值为 0 - 18,19个值并不是每个都可以进行修改,每个值对应的属性以及功能如下如下: 参数 值 功能/意义 CV_CAP_PROP_POS_MSEC 0 视频文件的当前位置(以毫秒为单位)或视频捕获时间戳. CV_CAP_PROP_POS_FRAMES 1 基于0的索引将被

Opencv打开摄像头,一般来说先读取第一帧,舍弃,然后就正常了

舍弃第一帧的程序: cap >> img; cv::waitKey(100); //     while (1){     if (cvWaitKey(5) == 27) break;     cap >> img;

picture control +opencv打开摄像头(set parent方法)

在Oninit() 里添加 cv::namedWindow("view", cv::WINDOW_NORMAL); HWND hWnd = (HWND)cvGetWindowHandle("view"); HWND hParent = ::GetParent(hWnd); ::SetParent(hWnd, GetDlgItem(IDC_STATIC)->m_hWnd); ::ShowWindow(hParent, SW_HIDE); cv::resizeWi

opencv打开监控录制的视频出现错误,解决办法!

问题: 之前没有遇到过此类问题,今天用opencv打开监控录制视频(.mp4)进行处理时,出现错误! 找到cap_ffmpeg_impl.hpp源文件,也没有看懂其原理,网上很多人说是路径出现错误,有人说是视频放在源程序下等,这些都不能解决问题. 看似.mp4文件,应该有不同的编码方式(没研究过) 其次只有迅雷看看能打开这类视频(期间还要自动下载解码器) 于是想到转码,下载格式工厂也转不了!.... 解决办法: 偶然发现迅雷看看有个功能,可以"截取与转码"! 对着打开的视频右键,选择&

opencv 图片读取和视频读取(一)

一 图片读取 1代码 import cv2 as cv #读取图片 src=cv.imread('./yiner.jpg') #cv.WINDOW_AUTOSIZE 表示自动窗口 cv.namedWindow('赵丽颖',cv.WINDOW_AUTOSIZE) #图片显示窗口 cv.imshow('赵丽颖',src) #参数0表示一直显示,直到键盘按下一个数字键就消失 cv.waitKey(0) #删除所有的图片窗口 cv.destroyAllWindows() 2 图片读取函数解说 imrea