main函式中引數argc和argv含義及用法
阿新 • • 發佈:2019-01-07
opencv中main函式一般形式:int main(int argc, char** argv)
其中,argc是argumentcount的縮寫,表示傳入main函式的引數個數;
argv 是argument vector的縮寫,表示傳入main函式的引數序列或指標。
argv陣列下標從0開始,argc[0]表示程式編譯後產生的exe檔案的路徑,陣列的長度為argc。
以learning opencv書中例3-12為例,其程式碼如下:
編譯後,在專案資料夾的Debug資料夾中找到example3_12.exe檔案,將此檔案的路徑複製。//例3-12 用imageROI來增加某範圍的畫素 //Mr.Han //2017.6.14 #include<cv.h> #include<highgui.h> int main(int argc, char** argv) { IplImage* src; if (argc == 7 && (src = cvLoadImage(argv[1], 1)) != 0) { int x = atoi(argv[2]); int y = atoi(argv[3]); int width = atoi(argv[4]); int height = atoi(argv[5]); int add = atoi(argv[6]); cvSetImageROI(src, CvRect(x, y, width, height)); cvAddS(src, cvScalar(add), src); cvResetImageROI(src); cvNamedWindow("ROI_ADD", 1); cvShowImage("ROI_ADD", src); cvWaitKey(); } return 0; }
windows+R開啟執行視窗,將路徑複製到對話方塊(或者現在執行中輸入cmd,開啟視窗後輸入)。空格後將要用於程式的圖片路徑貼上。然後再分別輸入程式中的剩餘5個引數值,即起始座標點(x,y),ROI(region of interest感興趣區域)的寬度width和高度height,以及要增加的畫素值。
此處檔案路徑:E:\PostgraduateEducation\OpenCV學習相關\Practice\learningopencv練習程式\chapter3\example3_12\Debug\example3_12.exe
圖片路徑:C:\Users\Administrator\Desktop\lena.jpg
ROI選取值及改變值為20 30 40 50 100
或者在cmd中輸入
回車執行。即可得到下圖所示,圖中黑色圈出即為改變的ROI