OpenCV 2.4.10+VS2008 SP1 實現一個視頻播放器(可倍速播放)

最近在學Opencv,但是圖像算法實在是把我爆出翔來了,以前數學不差,但是也忘得差不多了,惡補中,閒暇之餘突然發現OpenCV的視頻播放功能,支持格式很多啊,不防做一個學習版的純視頻播放軟件,還可以順便練手opencv,哈哈那麼下面直接上效果圖。源碼下載: http://download.csdn.net/detail/lightspear/9761702


說下這個工程的注意點吧。

1:opencv 2.4.10默認已編譯的版本是vc10,vc11,vc12,沒有vc9也就是VS2008的版本,所以首先得編譯源碼。當然爲了避免大家麻煩我已經編譯好了這個windows版本的適用VS2008版本的opencv庫,放在源碼工程旁邊。

2:這裏面用到了一些mfc的插件也就是進度條那個,有興趣可以看看。

3:主要實現了倍速播放,進度條拖動啊之類

4:如果編譯不過,最好自行檢查一下庫還有lib的引用入境

貼一下關鍵點代碼吧,利用opencv的VideoCapture類的 

5:opencv裏面其實用到了ffmpeg所以這個opencv_ffmepg.dll一定要考過去

read //讀取視頻流一次幀

open //打開播放文件

set //設置播放進度

class CV_EXPORTS_W VideoCapture
{
public:
    CV_WRAP VideoCapture();
    CV_WRAP VideoCapture(const string& filename);
    CV_WRAP VideoCapture(int device);

    virtual ~VideoCapture();
    CV_WRAP virtual bool open(const string& filename);
    CV_WRAP virtual bool open(int device);
    CV_WRAP virtual bool isOpened() const;
    CV_WRAP virtual void release();

    CV_WRAP virtual bool grab();
    CV_WRAP virtual bool retrieve(CV_OUT Mat& image, int channel=0);
    virtual VideoCapture& operator >> (CV_OUT Mat& image);
    CV_WRAP virtual bool read(CV_OUT Mat& image);

    CV_WRAP virtual bool set(int propId, double value);
    CV_WRAP virtual double get(int propId);

protected:
    Ptr<CvCapture> cap;
};





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章