記錄每日收穫。2 27

2021-09-11 13:54:16 字數 2882 閱讀 7375

今日主要工作:

#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 設定顯示...