通過在代碼中對Size類進行“轉到定義”操作,我們可以在….openc\sources\modules\corel\include\opencv2\core\core.hpp路徑下,找到Size類相關的源代碼:
typedef Size_<int> Size2i;
typedef Size2i Size;
其中,Size_是個模板類,在這里Size_
可以看到Size_模板類的內部又是重載了一些構造函數,其中,我們使用頻率最高的是下面這個構造函數:
size_(_Tp_width,_Tp_height);
另外,代碼末尾定義了模板類型的寬度和高度:
_Tp width,height;//寬度和高度
於是我們可以用XXX.width和XXX.height來分別表示其寬度和高度。
下面給出一個示例,方便大家理解。
Size(5,5);//構造出的size寬度和高度都為5,即XXX.width和xXx.height都為5
參照:
《OpenCV3 編程入門》 毛星雲 P97 // 書中還有一段定義的源碼