赞
踩
目录
- //视频的读取保存
- int test3()
- {
- VideoCapture video;
- //video.open("F:/testMap/lolTFT.mp4");//读取视频
- video.open(0);//读取摄像头
- if (!video.isOpened())
- {
- cout << "打开失败,请检查摄像头或文件" << endl;
- return -1;
- }
- cout << "视频帧率="<<video.get(CAP_PROP_FPS) << endl;
- cout << "视频宽度=" << video.get(CAP_PROP_FRAME_WIDTH) << endl;
-
- Mat img;
- video >> img;//获取图像
- //检测是否成功获取图像
- if (img.empty())//判断有没有读取图像成功
- {
- cout << "没有获取到图像"<< endl ;
- return -1;
- }
- bool isColpr = (img.type() == CV_8UC3);//判断相机(视频)类型是否为彩色
- VideoWriter writer;
- int codec = VideoWriter::fourcc('M', 'J','P','G'); //选择编码格式
- double fps = 25.0;//设置视频帧率
- string filename = "F:/testMap/live.avi";//保存的视频文件名称
- writer.open(filename,codec,fps,img.size(),true);//创建保存视频文件的视频流
- if (!writer.isOpened())//判断视频流是否创建成功
- {
- cout << "打开视频文件失败,请确实是否为合法输入" << endl;
- return -1;
- }
-
- //通过摄像头保存视屏
- while (1)
- {
- //检测是否执行完毕
- if (!video.read(img))//判断能都继续从摄像头或者视频文件中读出一帧图像
- {
- cout << "摄像头断开连接或者视频读取完成" << endl;
- break;
- }
- writer.write(img); //把图像写入视频流
- writer << img;
- imshow("Live", img); //显示图像
- char c = waitKey(50);
- if (c == 27)//按ESC案件退出视频保存
- break;
- }
-
-
-
-
- //读取视频播放
- //while (true)
- //{
- // Mat frame;
- // video >> frame;//把视频当前帧传给frame
- // if (frame.empty())
- // {
- // break;
- // }
-
- // imshow("video",frame);
- // uchar c = waitKey(1000 / video.get(CAP_PROP_FPS) /2);//2倍速播放
-
- // //按q退出
- // if (c == 'q')
- // {
- // break;
- // }
- //}
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。