[Computer Vision] 기본 자료형 클래스
2023. 10. 11. 00:06ㆍRun/Computer Vision
Point_ | 픽셀의 좌표 표현 |
Size_ | 사각형 영역의 크기 표현 |
Vec, Scalar | 벡터 값 저장 |
Rect_ | 사각형의 위치, 크기 정보 표현 |
RotatedRect | 회전된 사각형 표현 |
1. Point_ 클래스
- 2차원 평면 위에 있는 점의 좌표 표현하는 템플릿 클래스
- x, y 멤버 변수 가짐
- 어떤 자료형으로 좌표 표현할 것인지 명시해야 함
- Point_<int> Point2i
- Point_<int64> Point2l
- Point_<float> Point2f
- Point_<double> Point2d
- Point2i Point (Point2i는 Point 클래스로 재정의됨)
- 다양한 연산자에 대해 연산자 재정의 되어 있어 좌표 연산 수행 가능 (+, -, *, dot(), ==, ...)
2. Size_ 클래스
- 영상 또는 사각형 영역 크기 표현할 때 사용
- width, height 멤버 변수 가짐
- 어떤 자료형으로 표현할 것인지 명시해야 함
- Size_<int> Size2i
- Size_<int64> Size2l
- Size_<float> Size2f
- Size_<double> Size2d
- Size2i Size (Size2i는 Size 클래스로 재정의됨)
- 다양한 연산자에 대해 연산자 재정의 되어 있어 사칙 연산 통해 크기 조절 가능
- area() : 면적 반환
- empty() : 유효하지 않은 크기면 true 반환
3. Rect_ 클래스
- 사각형의 위치, 크기 정보 표현하기 위해 사용
- x, y 멤버 변수 = 좌측 상단 점 (시작점) / width, height 멤버 변수
- 어떤 자료형으로 표현할 것인지 명시해야 함
- Rect_<int> Rect2i
- Rect_<float> Rect2f
- Rect_<double> Rect2d
- Rect2i Rect (Rect2i는 Rect 클래스로 재정의됨)
- Size_ 클래스, Point_ 클래스로 더하거나 빼서 조정할 수 있음
- & : 교집합 영역 반환
- | : 합집합 영역 반환
- tl() : 시작점 좌표 반환
- br() : 끝점 좌표 반환
- size() : 사각형 크기 정보 반환
- area() : 면적 반환
- empty() : 유효하지 않는 사각형이면 true 반환
- contains() : 인자로 전달된 점이 사각형 내부에 있으면 true 반환
4. Vec 클래스
- 같은 자료형을 가진 여러 개의 원소로 구성된 데이터 형식
- 행 하나인 행렬 = 행 벡터 / 열 하나인 행렬 = 열 벡터 / 행 벡터 & 열 벡터 = 벡터 행렬
- 어떤 자료형으로 표현할 것인지 명시해야 함
- Vec<uchar, 2> Vec2b
- Vec<uchar, 3> Vec3b (3채널 컬러 영상 픽셀 값 표현할 때 사용)
- Vec<uchar, 4> Vec4b
- Vec<short, 2> Vec2s
- Vec<short, 3> Vec3s
- Vec<short, 4> Vec4s
- Vec<ushort, 2> Vec2w
- Vec<ushort, 3> Vec3w
- Vec<ushort, 4> Vec4w
- Vec<int, 2> Vec2i
- Vec<int, 3> Vec3i
- Vec<int, 4> Vec4i
- Vec<float, 2> Vec2f
- Vec<float, 3> Vec3f
- Vec<float, 4> Vec4f
- p1.val[n] 으로 n번째 원소 값 변경 가능
5. Scalar 클래스
- 4채널 이하의 영상에서 픽셀 값 표현하는 용도로 자주 사용됨
- Scalar_ 클래스 템플릿 이름 재정의이며, Scalar_ 클래스는 Vec 클래스를 상속받아 만들어짐
- all() : 4개의 val 배열 값을 모두 특정 값으로 설정한 객체 반환
- Scalar : 크기 4인 double 형 배열 val을 멤버 변수로 가지고 있는 자료형
- B, G, R, alpha(grayscale에선 0)
- p1.val[n] 대신 p1[n] 사용 가능, 더 자주 사용함 ([] 연산자 재정의)
6. RotatedRect 클래스
- 회전된 사각형 표현하는 클래스
- 회전된 사각형의 중심 좌표 나타내는 center, 가로 및 세로 크기 나타내는 size, 회전 각도 나타내는 angle 멤버 변수
- points() : 회전된 사각형의 꼭지점 좌표들을 저장
- boundingRect() : 회전된 사각형을 포함하는 최소 크기의 사각형 정보 반환 (정수)
- boudingRect2f() : 회전된 사각형을 포함하는 최소 크기의 사각형 정보 반환 (실수)
'Run > Computer Vision' 카테고리의 다른 글
[Computer Vision] OpenCV 주요 기능 (0) | 2023.10.11 |
---|---|
[Computer Vision] Mat 클래스 (0) | 2023.10.11 |
[Computer Vision] OpenCV 개요 및 설치 (0) | 2023.10.11 |
[Computer Vision] 컴퓨터 비전과 영상의 이해 (1) | 2023.10.11 |
[Image Understanding] Color Image 생성하기 (0) | 2023.10.10 |