刚买了本 “学习Opencv” 这本书,慢慢看起来。
一开始就是加载视频了。当然了,首先你要有个视频
从这里下载了一个:
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
效果图:
这个例子其实挺简单的啊。这个网站上面下载的avi也挺神奇。
不知道这个播放器性能怎么样,改天试试高质量的AVI。