2014-01-08 37 views
0

我剛剛開始學習opencv,我被卡在剛剛加載圖像的第一個示例。argv和argc在opencv程序中的用途?

#include <cv.h> 
#include <highgui.h> 
int main(int argc, char** argv) 
{ 
    IplImage* imageName =cvLoadImage(argv[1]); 

argv和argc執行什麼任務?

+0

得到它。謝謝 –

+0

因爲你如果你看到任何使用IplImages的代碼,那就過時了。使用C++,cv :: Mat,cv :: imread()等。 – berak

+0

其實我不懂C++。我只有c的知識。我現在應該學習C++嗎? –

回答

0

這不是關於OpenCV的。這是C語言的一個特性。

argvargcmain()函數的參數,它們允許程序獲取命令行參數。 argv是c風格的字符串數組,argcargv中的字符串數。 argv[0]是可執行文件的名稱,argv[1]argv[argc-1]是程序的命令行參數。在你的例子中,argv[1]是第一個命令行參數,它包含要加載的圖像的文件名。

假設您的可執行文件的名稱是myOpencvProgram。如果從這樣的命令行調用它:

> myOpencvProgram image1.jpg 

然後argv[0]將包含字符串"myOpencvProgram"argv[1]將包含"image1.jpg",並argc將等於2