今日主要工作:
#include #include #include #include #include #include using namespace std;
using namespace cv;
vectorsplit(const string &str, const string &pattern)
return resultvec;
}void getfiles(string path, vector& files)
//如果不是,加入列表
else
} while (_findnext(hfile, &fileinfo) == 0);
//_findclose函式結束查詢
_findclose(hfile); }}
void main()
else
//獲取幀率
double rate = capture.get(cv_cap_prop_fps);
cout << "幀率為:" << rate << endl;
bool stop = false;
//承載每一幀的影象
mat frame;
//顯示每一幀的視窗
//namedwindow( "extractedframe" );
//int delay = 1000/rate;
double delay = 1000 / rate;
//利用while迴圈讀取幀
//currentframe是在迴圈體中控制讀取到指定的幀後迴圈結束的變數
long currentframe = frametostart;
while (!stop)
//cout << "正在讀取第" << currentframe << "幀" << endl;
//imshow( "extractedframe", frame );
//此處為跳幀操作
if (currentframe % 10 == 0) //此處為幀數間隔,修改這裡就可以了
//waitkey(intdelay=0)當delay≤ 0時會永遠等待;當delay>0時會等待delay毫秒
//當時間結束前沒有按鍵按下時,返回值為-1;否則返回按鍵
int c = waitkey(delay);
if ((char)c == 27 || currentframe > frametostop)
//按下按鍵後會停留在當前幀,等待下一次按鍵
if (c >= 0)
currentframe++;
} capture.release();
/* waitkey(0);
return 0;*/
}}
**執行會報錯,主要原因在於沒有給 split 函式中 strc、tmpstr等分配空間,正確**如下:
#include #include #include #include #include #include using namespace std;
using namespace cv;
vectorsplit(const string &str, const string &pattern)
if (strc != null)
free(strc);
if (tmpstr !=null)
return resultvec;
}void getfiles(string path, vector& files)
//如果不是,加入列表
else
} while (_findnext(hfile, &fileinfo) == 0);
//_findclose函式結束查詢
_findclose(hfile); }}
void main()
else
//獲取幀率
double rate = capture.get(cv_cap_prop_fps);
cout << "幀率為:" << rate << endl;
bool stop = false;
//承載每一幀的影象
mat frame;
//顯示每一幀的視窗
//namedwindow( "extractedframe" );
//int delay = 1000/rate;
double delay = 1000 / rate;
//利用while迴圈讀取幀
//currentframe是在迴圈體中控制讀取到指定的幀後迴圈結束的變數
long currentframe = frametostart;
while (!stop)
//cout << "正在讀取第" << currentframe << "幀" << endl;
//imshow( "extractedframe", frame );
//此處為跳幀操作
if (currentframe % 10 == 0) //此處為幀數間隔,修改這裡就可以了
//waitkey(intdelay=0)當delay≤ 0時會永遠等待;當delay>0時會等待delay毫秒
//當時間結束前沒有按鍵按下時,返回值為-1;否則返回按鍵
int c = waitkey(delay);
if ((char)c == 27 || currentframe > frametostop)
//按下按鍵後會停留在當前幀,等待下一次按鍵
if (c >= 0)
currentframe++;
} capture.release();
/* waitkey(0);
return 0;*/
}}
每日收穫2
w handler 非同步處理沒有效果 原因handler.post 這個方法並未真正新建執行緒,只是在原執行緒上執行。解決方案 handler.postdelayed thread,3000 可以建立新執行緒。i 測試方法標籤化 why 在複雜而且大量的測試工作中需要嚴謹而邏輯性強的測試手段。wh...
每日收穫之enum typedef
由於c功底弱,在學習的過程中被許多識別符號擋住,就變成了發散式學習。所以這篇blog中的兩個內容正是學習bool時遇到的問題。enum定義了一種列舉型別,其形式為 enum 列舉名 列舉變數 舉例說明 include using std cout using std endl int main x ...
2016 11 17 今日收穫
1.i o流常用控制符 使用控制符時,在程式開頭加投檔案 include c 有兩種方法控制格式輸出 1 用格式控制符 2 用流物件的成員函式 格式控制符 dec 設定基數為10 hex 設定基數為16 oct 設定基數為8 setfill c 設定填充字元c setprecision n 設定顯示...