더북(TheBook)

3.3.2 Scalar 클래스

OpenCV 프로그래밍에서 Mat 클래스 다음으로 자주 사용되는 클래스는 Scalar 클래스입니다. Scalar 클래스는 4채널 이하의 영상에서 픽셀 값을 표현하는 용도로 자주 사용됩니다. 사실 Scalar 클래스는 Scalar라는 이름의 클래스 템플릿 이름 재정의이며, Scalar 클래스는 Vec 클래스를 상속받아 만들어졌습니다. 코드 3-15는 간략화한 Scalar_ 클래스와 Scalar 이름 재정의를 보여 줍니다.

코드 3-15 간략화한 Scalar_와 Scalar 클래스 정의

01    template<typename Tp> class Scalar : public Vec<Tp, 4>
02    {
03    public:
04        Scalar();
05        Scalar_(Tp v0);
06        Scalar(_Tp v0, _Tp v1, _Tp v2=0, Tp v3=0);
07
08 static Scalar
<_Tp> all(Tp v0); 0910 }; 11
12 typedef Scalar
<double> Scalar;

 

4~5행 Scalar 클래스 생성자입니다.

8행 Scalar::all() 멤버 함수는 네 개의 val 배열 값을 모두 v0으로 설정한 Scalar 객체를 반환합니다.

12행 double 자료형을 사용하는 Scalar 클래스에 대해 Scalar라는 이름으로 재정의합니다.

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