OpenCV的源代码中的哪个是Size Class?

时间:2014-03-19 09:27:26

标签: c++ c opencv

我在Size:: CV_EXPORTS SIZE Size::width的所有Opencv目录上都进行了搜索,但我找到的只是模板类Size_,与文档中的相同。我想查看源代码,因为我正在添加对OpenCV库的改进,这些信息会很有用。在Ubuntu Trusty上,我正在运行这样的grep:

grep -r 'CV_EXPORTS SIZE' . 

来自根文件夹

中的modules目录

提前感谢任何参与者。

1 个答案:

答案 0 :(得分:2)

哦,这是一个深源树。无论如何,opencv/modules/core/include/opencv2/core/types.hpp有:

/*!
The 2D size class

The class represents the size of a 2D rectangle, image size, matrix size etc.
Normally, cv::Size ~ cv::Size_<int> is used.
*/
template<typename _Tp> class Size_
{
 //! various constructors
    Size_();
    Size_(_Tp _width, _Tp _height);
    Size_(const Size_& sz);
    Size_(const Point_<_Tp>& pt);

    Size_& operator = (const Size_& sz);
    //! the area (width*height)
    _Tp area() const;

    //! conversion of another data type.
    template<typename _Tp2> operator Size_<_Tp2>() const;

    _Tp width, height; // the width and the height
};

/*!
\typedef
*/
typedef Size_<int> Size2i;
typedef Size_<float> Size2f;
typedef Size_<double> Size2d;
typedef Size2i Size;

因此,SizeSize2i的别名,是Size_<int>的别名。