天天看点

OpenCV 尺寸的表示:Size类

通过在代码中对Size类进行“转到定义”操作,我们可以在….openc\sources\modules\corel\include\opencv2\core\core.hpp路径下,找到Size类相关的源代码:

typedef Size_<int> Size2i;
typedef Size2i Size;      

其中,Size_是个模板类,在这里Size_表示其类体内部的模板所代表的类型为int。那这两句代码的意思,就是首先给已知的数据类型 Size_起个新名字,叫Size2i。然后又给已知的数据类型Size2i起个新名字,叫Size。所以,连起来就是,Size_、Size2i、Size这三个类型名等价。

可以看到Size_模板类的内部又是重载了一些构造函数,其中,我们使用频率最高的是下面这个构造函数:

size_(_Tp_width,_Tp_height);      

另外,代码末尾定义了模板类型的宽度和高度:

_Tp width,height;//宽度和高度      

于是我们可以用XXX.width和XXX.height来分别表示其宽度和高度。

下面给出一个示例,方便大家理解。

Size(5,5);//构造出的size宽度和高度都为5,即XXX.width和xXx.height都为5      

参照: