2014-11-04 113 views
1

我試圖運行一些代碼來將視頻軌添加到某些視頻上,它來自於學習OpenCV第二版的書,但我無法編譯我的代碼並給出錯誤「namespace cv has沒有成員CAP_PROP_POS_FRAMES」cv沒有成員CAP_PROP_POS_FRAMES

下面的代碼

#include <opencv2\highgui\highgui.hpp> 
#include <opencv2\imgproc\imgproc.hpp> 
#include <iostream> 
#include <fstream> 

using namespace std; 

int g_slider_position = 0; 
int g_run = 1, g_dontset = 0; //start out in a single step mode 
cv::VideoCapture g_cap; 

void onTrackbarSlide(int pos, void *) { 
    g_cap.set(cv::CAP_PROP_POS_FRAMES, pos); 
    if(!g_dontset) 
     g_run = 1; 
    g_dontset = 0; 
} 
+1

cv :: CAP_PROP_POS_FRAMES僅對最新的opencv版本有效。你到底在用什麼? (您可能需要使用舊版本回退到CV_CAP_PROP_POS_FRAME)。 – berak 2014-11-04 20:38:44

+0

我在Visual Studio 2010中使用cv 2.4.9,並且我嘗試了CV_CAP_PROP_POS_FRAME,但結果相同 – Dave 2014-11-04 21:45:07

+0

抱歉,錯字,請參閱下面的答案。 – berak 2014-11-05 05:51:38

回答

2

這是CV_CAP_PROP_POS_FRAME 小號(注意S),應該由highgui.hpp將帶來的第一位。這是全局命名空間中的匿名枚舉。

+0

感謝chappjc的回答,將S添加到最後並在開始時取出cv ::似乎解決了我的問題 – Dave 2014-11-07 12:01:24