作者tablepinpon (tabletennis)
看板C_and_CPP
標題[問題] OpenCV的範例碼 有 argc & argv
時間Mon Nov 30 20:17:48 2009
遇到的問題: (題意請描述清楚)
很多範例拿到手,都不能夠直接跑出來看結果
常常會有很多 argc 和 argv[]
難道每次拿到都要自行改掉
真的沒有辦法可以直接執行
雖然編譯沒有錯誤
但是執行後 什麼東西都沒有出現
就是 DOS畫面 出現一秒鐘 就結束了程式 ...
至少要出現個視窗吧 ...
希望得到的正確結果:
我要看所有的範例跑出來的結果
程式跑出來的錯誤結果:
沒有錯誤,就是點下RUN的按鍵
編譯沒有 FAILED , 是 SUCCEEDED
0 error(s), 5 warning(s)
Rebuild All: 1 succeeded, 0 failed, 0 skipped
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Microsoft Visual Studio 2008
有問題的code: (請善用置底文標色功能)
int main(int argc, char* argv[]) {
if(argc != 6){
printf("\nERROR: too few parameters\n");
help();
return -1;
}
help();
//INPUT PARAMETERS:
int board_w = atoi(argv[1]);
int board_h = atoi(argv[2]);
int board_n = board_w * board_h;
CvSize board_sz = cvSize( board_w, board_h );
CvMat *intrinsic = (CvMat*)cvLoad(argv[3]);
CvMat *distortion = (CvMat*)cvLoad(argv[4]);
IplImage *image = 0, *gray_image = 0;
if((image = cvLoadImage(argv[5]))== 0){
printf("Error: Couldn't load %s\n",argv[5]);
return -1;
}
補充說明:
我不會標顏色
我用說明的
就是 argv[1] ~ argv [6] 好像都要自行跟改
譬如 image = cvLoadImage("tablepinpon.jpg",1);
而 (argc != 6) 什麼鬼...
我的訴求 就只是想要 拿到的 Sample Code 可以跑出結果
有沒有不用更改 就可以跑結果
還是說 有人知道 那些參數 要改成什麼
然後跑程式 就可以出現 個所以然
問一下,大家拿到 SOUCE CODE 都是用 DOS視窗 去跑結果?
還是說 會更改成直接 RUN 就可以用的碼?
話說 要怎樣開 DOS去 輸入想要的 參數
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.124.201.53
1F:推 VictorTom:Google過argc與argv是做什麼用的了沒?? 簡單的說, 這兩 11/30 20:20
2F:→ VictorTom:個main的參數是拿來收console模式下command參數來用的. 11/30 20:21
3F:→ VictorTom:就你貼的sample來說, 它預期你開個console(DOS)視窗並且 11/30 20:21
4F:→ VictorTom:給它需要的參數給它; 第一個if就是判斷發現它要的參數數 11/30 20:22
5F:→ VictorTom:量不足, 所以直接印error message在console就結束了. 11/30 20:22
6F:→ VictorTom:你之所以只看到DOS視窗閃一下就是這個原因, 開命令提示 11/30 20:23
※ 編輯: tablepinpon 來自: 140.124.201.53 (11/30 20:25)
7F:→ VictorTom:字元模式出來看, 開sample的manual來看, 還有Google那兩 11/30 20:23
8F:→ VictorTom:個keyword來看, 你就知道你的程式需要什麼/怎麼跑@_@" 11/30 20:23
9F:→ tinlans:真正的八卦是,那個不叫 DOS 視窗 XD 11/30 20:38
10F:推 VictorTom:有時候我也很猶豫要怎麼稱呼Command Prompt, 打英文中文 11/30 20:40
11F:→ VictorTom:全寫都很麻煩, 寫console好像MS又不這麼叫Orz 11/30 20:40