目前,我正在開發一個使用OpenCV的C++項目,該項目是一個用於圖像處理的庫。未知的C++語句
看一些例子,我碰到下面一行來到:
Mat gray, smallImg(cvRound (img.rows/scale), cvRound(img.cols/scale), CV_8UC1);
我從來沒有見過這樣的事情在C/C++之前...你有任何想法,這是在做什麼?
目前,我正在開發一個使用OpenCV的C++項目,該項目是一個用於圖像處理的庫。未知的C++語句
看一些例子,我碰到下面一行來到:
Mat gray, smallImg(cvRound (img.rows/scale), cvRound(img.cols/scale), CV_8UC1);
我從來沒有見過這樣的事情在C/C++之前...你有任何想法,這是在做什麼?
這是一行中的幾個變量的聲明。
沒有混淆,這是相同的:
Mat gray;
Mat smallImg(cvRound (img.rows/scale), cvRound(img.cols/scale), CV_8UC1);
這應該不需要任何進一步的解釋。
(在古代,當存儲稀疏和終端顯示的代碼24行,如果你是幸運的,使用更有意義比現在多變量聲明。)
Mat
是一類,gray
聲明,並用無參數的構造函數(有道理的,因爲灰色將成爲默認的顏色,不是嗎?),smallImg
聲明利用三個參數的構造函數定義的定義。
該代碼是有道理的。它是'gray'和'smallImg'的聲明,前者使用默認構造函數。 –