Opencv step by step - 加载视频

时间:2024-10-09 21:06:57

刚买了本 “学习Opencv” 这本书,慢慢看起来。

一开始就是加载视频了。当然了,首先你要有个视频Opencv step by step - 加载视频

从这里下载了一个:

tan@ubuntu:~$ wget http://www.mysticfractal.com/video/fractogene.avi
--2014-10-27 22:33:14-- http://www.mysticfractal.com/video/fractogene.avi
正在解析主机 www.mysticfractal.com (www.mysticfractal.com)... 98.139.135.199
正在连接 www.mysticfractal.com (www.mysticfractal.com)|98.139.135.199|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度: 未指定 [video/x-msvideo]
正在保存至: “fractogene.avi” [ <=> ] 1,038,884 21.6K/s 用时 61s 2014-10-27 22:34:26 (16.5 KB/s) - “fractogene.avi” 已保存 [1038884]

然后依样画葫芦抄了一下代码(略加修改了下style):

AVIPlayer.cpp

#include <cv.h>
#include <highgui.h> #define KEY_ESC 27
#define DELAY_TIME 33
int main(int argc,char **argv)
{ cvNamedWindow("good_player", CV_WINDOW_AUTOSIZE);
CvCapture *capture = cvCreateFileCapture(argv[1]);
IplImage *frame;
while (true) {
frame = cvQueryFrame(capture);
if (!frame)
break;
cvShowImage("good_player",frame);
char c = cvWaitKey(DELAY_TIME);
if (KEY_ESC == c)
break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("good_player");
return 0;
}

编译运行:

tan@ubuntu:~/cv$ g++ AVIPlayer.cpp -o AVIPlayer `pkg-config opencv --cflags --libs`

tan@ubuntu:~/cv$ ./AVIPlayer ../fractogene.avi

效果图:

Opencv step by step - 加载视频

这个例子其实挺简单的啊。这个网站上面下载的avi也挺神奇。

不知道这个播放器性能怎么样,改天试试高质量的AVI。