1. 程式人生 > >main函式中引數argc和argv含義及用法

main函式中引數argc和argv含義及用法

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為例,其程式碼如下:

//例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;
}
編譯後,在專案資料夾的Debug資料夾中找到example3_12.exe檔案,將此檔案的路徑複製。

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