더북(TheBook)

코드 3-6 간략화한 Mat 클래스 정의

01    class Mat
02    {
03    public:
04        Mat();
05        Mat(int rows, int cols, int type);
06        Mat(Size size, int type);
07        Mat(int rows, int cols, int type, const Scalar& s);
08        Mat(Size size, int type, const Scalar& s);
09        Mat(const Mat& m);
10        ~Mat();
11     
12        void create(int rows, int cols, int type);
13     bool empty() const;
14     
15        Mat clone() const;
16        void copyTo(OutputArray m) const;
17     Mat& setTo(InputArray value, InputArray mask=noArray());
18     
19     static MatExpr zeros(int rows, int cols, int type);
20     static MatExpr ones(int rows, int cols, int type);
21     
22        Mat& operator = (const Mat& m);
23     Mat operator()( const Rect& roi ) const;
24     
25        template<typename _Tp> _Tp* ptr(int i0 = 0);
26        template<typename _Tp> _Tp& at(int row, int col);
27     
28        int dims;
29        int rows, cols;
30        uchar* data;
31     MatSize size;
32        ...
33    };

 

4~10행 Mat 클래스의 다양한 생성자와 소멸자입니다.

12~26행 Mat 클래스의 멤버 함수입니다. Mat 클래스의 멤버 함수에는 연산자 재정의 함수와 정적 멤버 함수도 포함됩니다.

28~31행 Mat 클래스의 주요 멤버 변수입니다.

32행 말 줄임표는 실제 소스 코드가 아니라 일부 코드가 생략되어 있음을 의미합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.