컴퓨터 비전 프로그래밍에서 사용하는 다양한 자료형의 정의와 사용방법
2차원 평면 위에 있는 한 점의 좌표를 나타내는 클래스
x, y 멤버변수를 가지며 멤버변수는 int, int64, float, double 자료형을 가질 수 있다. 기본 자료형은 int64이다.
멤버함수는 다음과 같다.
_Tp dot(const Point_& pt)
: 두 점 사이의 내적(dot product)을 반환double ddot(const Point_& pt)
: 내적을 구해서 double 자료형으로 반환double cross(const Point_& pt)
: 두 점 사이의 외적(cross product)을 반환bool inside(const Rect_<_Tp>& r)
: 점의 좌표가 사각형 r 영역 안에 있으면 true 반환영상 또는 사각형 영역의 크기를 표현하는 클래스
영역의 가로, 세로 크기를 나타내는 width, height 멤버 변수를 가진다. int, in64, float, double로 선언할 수 있고 int64가 기본 자료형이다.
멤버 함수는 다음과 같다.
_Tp area(const Size_& sz)
: 영역의 면적을 반환bool empty()
: 유효하지 않은 크기이면 true를 반환사각형의 위치와 크기 정보를 표현하는 클래스
사각형 좌측 상단 점의 좌표와 가로, 세로 영역을 저장하여 사각형을 표현한다.
멤버 변수로는 x, y, width, height가 있고 자료형으론 int, float, double이 가능하다. int가 기본 자료형
생성자로는 기본 생성자, 복사 생성자, 각각의 멤버변수 입력 외에도 Point와 Size를 받거나 대각 위치의 두 점을 인자로 받는 생성자도 존재했다.
멤버 함수는 다음과 같다.
Point_<_Tp> tl()
: 좌측 상단 점의 좌표 반환Point_<_Tp> br()
: 우측 하단 점의 좌표 반환Size_<_Tp> size()
: 사각형 크기 정보 반환_Tp area()
: 사각형의 면적 반환bool empty()
: 유효하지 않은 사각형이면 true 반환bool contains(const Point_<_Tp>& pt)
: 점 pt가 사각형 내부에 있으면 true 반환Rect_ 객체끼리 논리연산을 수행할 수 있다.
&
연산을 하면 교차하는 사각형 영역을 반환, |
연산을 하면 모두 포함하는 최소 크기의 사각형을 반환한다.
회전된 사각형을 표현하는 클래스
사각형의 중심 좌표, 사각형의 가로 및 세로 크기, 회전 각도 정보를 토대로 회전된 사각형을 표현한다.
멤버 변수는 center, size, angle이고 모든 정보는 float 자료형이다.
생성자로는 기본 생성자, 각각의 멤버변수 입력 외에 세 꼭지점 좌표를 받는 생성자도 존재한다.
멤버 함수는 다음과 같다.
void points(Point2f pts[])
: 네 꼭지점 좌표를 pts 인자에 저장Rect boundingRect()
: 회전된 사각형을 포함하는 최소 크기의 사각형 정보를 반환(정수단위)Rect_<float> boundingRect2f()
: 실수 단위로 반환범위 또는 구간을 표현하는 클래스
범위의 시작과 끝을 나타내어 범위를 표현한다.
멤버 변수는 start와 end로 int자료형이다.
멤버 함수는 다음과 같다.
int size()
: 범위 크기를 반환(end - start)bool empty()
: start == end 면 true 반환static Range all()
: start=INT_MIN, end=INT_MAX로 설정한 Range객체 반환end는 포함하지 않는다. [start, end)
기존에는 cv::string
이라는 자체적인 문자열 클래스를 정의하고 사용하였지만 OpenCV4.0 버전 이후부터는 C++ 표준의 std::string
을 String
으로 재정의하여 사용한다. 완전히 동일하며 호환성을 위해 String
클래스 이름을 사용한다.
객체 비교를 위해서는 std::string::compare()
또는 ==
연산자를 사용한다.
String format(const char* fmt, …)
함수를 사용하여 C언어의 printf 처럼 사용할 수 있다.