OpenCV 播放视频文件
2011-10-17 23:39
274 查看
OpenCV播放视频文件
使用cv::VideoCapture类来读取视频文件,并用cv::imshow逐帧播放视频。
版本一:使用c api
版本二:使用c++ api
使用cv::VideoCapture类来读取视频文件,并用cv::imshow逐帧播放视频。
版本一:使用c api
int playVideoTest(const std::string & videoPath ) { CvCapture* capture; capture = cvCreateFileCapture(videoPath.c_str()); if (!capture) return -100; double rate= (double)cvGetCaptureProperty( capture , CV_CAP_PROP_FPS); bool stop(false); IplImage* frame = NULL; cvNamedWindow("Extracted Frame"); int delay= 1000/rate; while (!stop) { frame = cvQueryFrame(capture); if (!frame) break; cvShowImage("Extracted Frame",frame); if (cvWaitKey(delay)>=0) stop= true; } cvDestroyWindow("Extracted Frame"); cvReleaseCapture(&capture); return 1; }注:不知道如何释放frame空间,使用cvReleaseImage()和cvReleaseImageHeader()均会出错。
版本二:使用c++ api
int playVideo( const std::string & videoPath ) { cv::VideoCapture capture(videoPath) if (!capture.isOpened()) return -1; double rate= capture.get(CV_CAP_PROP_FPS); bool stop(false); cv::Mat frame; cv::namedWindow("Extracted Frame"); int delay= static_cast<int>(1000/rate); while (!stop) { if (!capture.read(frame)) break; cv::imshow("Extracted Frame",frame); if (cv::waitKey(delay)>=0) stop= true; } cv::destroyWindow("Extracted Frame"); capture.release(); return 1; }
相关文章推荐
- OpenCV重复播放摄像头视频,循环播放摄像头(视频)文件,循环播放视频中某一段视频
- opencv中如何播放视频文件
- OpenCV 播放视频文件
- OpenCV索引方式播放视频文件
- ffmpeg和opencv 播放视频文件和显示器
- opencv1.0播放视频文件一闪而过
- opencv实现播放视频文件(AVI) 并设置播放的进度条
- ffmpeg opencv 打开视频文件,并且播放
- ffmpeg和opencv 播放视频文件并显示
- 三.使用OpenCv从摄像头获取视频和从文件播放视频
- 【QT】视频播放+文件选择
- 如何在asp.net中如何在线播放视频文件
- 用vlc SDK创建一个播放视频文件和RTSP流视频的Demo
- 解决视频文件播放不能快进问题
- 如何同步播放asf和vga文件的教学视频
- android之MediaPlayer播放音频或者视频文件
- 使用OpenCV函数读入、播放视频文件并获取视频相应属性
- opencv 2.4.9 VideoCapture不能读取视频文件
- OpenCV入门:初试牛刀 — 视频播放控制器
- OpenCV中VideoWriter输出视频文件为空或6KB解决方法(java)