OpenCV 播放视频文件
2011-10-17 23:39
351 查看
OpenCV播放视频文件
使用cv::VideoCapture类来读取视频文件,并用cv::imshow逐帧播放视频。
版本一:使用c api
注:不知道如何释放frame空间,使用cvReleaseImage()和cvReleaseImageHeader()均会出错。
版本二:使用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实现播放视频文件(AVI) 并设置播放的进度条
- opencv中如何播放视频文件
- OpenCV 播放视频文件
- ffmpeg和opencv 播放视频文件并显示
- ffmpeg和opencv 播放视频文件和显示器
- opencv1.0播放视频文件一闪而过
- OpenCV索引方式播放视频文件
- 三.使用OpenCv从摄像头获取视频和从文件播放视频
- ffmpeg opencv 打开视频文件,并且播放
- OpenCV重复播放摄像头视频,循环播放摄像头(视频)文件,循环播放视频中某一段视频
- opencv读取视频文件并显示的程序详细解释
- ASP.NET播放视频文件-C#中的媒体播放类
- ubuntu14.04 yuv文件的播放及视频信息的查看
- Opencv中播放视频时加上滚动条
- Opencv3找不到opencv_world320.dll文件以及读取视频失败的解决方案
- Ubuntu下RMVB等常用视频文件完美播放
- 获取视频文件的播放时长
- 安卓浏览本地指定路径视频文件并播放
- <车载物联网项目,视频采集传输部分,第二天> 使用ffserver输出视频文件流,并且使用使用命令行终端播放视频文件
- android 视频文件不能进行幻灯片的播放