2014-05-20 44 views
-6

目前,我正在開發一個使用OpenCV的C++項目,該項目是一個用於圖像處理的庫。未知的C++語句

看一些例子,我碰到下面一行來到:

Mat gray, smallImg(cvRound (img.rows/scale), cvRound(img.cols/scale), CV_8UC1); 

我從來沒有見過這樣的事情在C/C++之前...你有任何想法,這是在做什麼?

+4

該代碼是有道理的。它是'gray'和'smallImg'的聲明,前者使用默認構造函數。 –

回答

1

這是一行中的幾個變量的聲明。

沒有混淆,這是相同的:

Mat gray; 
Mat smallImg(cvRound (img.rows/scale), cvRound(img.cols/scale), CV_8UC1); 

這應該不需要任何進一步的解釋。

(在古代,當存儲稀疏和終端顯示的代碼24行,如果你是幸運的,使用更有意義比現在多變量聲明。)

4

Mat是一類,gray聲明,並用無參數的構造函數(有道理的,因爲灰色將成爲默認的顏色,不是嗎?),smallImg聲明利用三個參數的構造函數定義的定義。