OpenCV 48

[OpenCV] Range 클래스

Range 클래스란 범위 또는 구간을 표현하는 클래스이다. Range 클래스는 start 와 end를 멤버 변수로 갖는다. start : 범위의 시작 end : 범위의 끝 class Range { public: Range(); // 기본 생성자로 start와 end를 0으로 초기화 Range(int _start, int _end); // 두 개의 정수를 인자로 받는 생성자로 start = _start, end = _end로 초기화 int size() const; // Range::size() 멤버 함수는 범위 크기(end - start) 반환 bool empty() const; // Range::empty() 멤버 함수는 start와 end가 같으면 true 반환 static Range all(); //..

[OpenCV] RotatedRect 클래스

RotatedRect 클래스란 회전된 사각형을 표현하는 클래스이다. 멤버변수로 center, size, angle을 가진다. center : 회전된 사각형의 중심 좌표를 나타냄 size : 사각형의 가로 및 세로 크기를 나타냄 angle : 회전 각도 정보를 나타냄 class RotatedRect { public: RotatedRect(); // 기본 생성자로 모든 멤버 변수를 0으로 초기화 RotatedRect(const Point2f& _center, const Size2f& _size, float _angle); // (_center, _size, _angle)을 인자로 받는 생성자로 center = _center, size = _size, angle = _angle 으로 초기화 RotatedRec..

[OpenCV] Rect_ 클래스

Rect_ 클래스 사각형의 위치와 크기 정보를 표현할 때 사용한다. 사각형의 좌측 상단 점의 좌표를 나타내는 x, y 멤버 변수와 사각형의 가로 및 세로 크기를 나타내는 width, height 멤버 변수를 가지고 있다. template class Rect_ { public: Rect_(); // 기본 생성자로 모든 멤버 변수를 0으로 초기화 Rect_(_Tp _x, _Tp _y, _Tp _width, _Tp _height); // (_x, _y, _width, _height) 사각형 정보를 인자로 받는 생성자로 x = _x, y = _y, width = _width, height + _height 로 초기화 Rect_(const Recdt_& r); // 복사 생성자로 x = r.x, y = r.y, ..

[OpenCV] Size_ 클래스

Size_ 클래스는 영상 또는 사각형 영역의 크기를 표현할 때 사용한다. Size_ 클래스는 사각형 영역의 가로와 세로 크기를 나타내는 width, height 멤버 변수를 가지고 있다. template class Size_ { public: Size_(); // 기본 생성자로 width, height를 0으로 초기화 Size_(_Tp _width, _Tp _height); // (_width, _height) 크기를 인자로 받는 생성자로 width = _width, height = _height로 초기화 Size_(const Size_& sz); // 복사 생성자로 width = sz.width, height = sz.height로 초기화 Size_& operator = (const Size_& sz)..

[OpenCV] Point_ 클래스

Point_클래스 2차원 평면 위에 있는 점의 좌표를 표현하는 템플릿이다. 2차원 좌표를 나타내는 x와 y라는 이름의 멤버 변수를 가지고 있다. template class Point_ { public: Point_(); // Point 의 기본 생성자로 x = 0, y = 0으로 초기화 Point_(_Tp _x, _Tp _y); // (_x, _y) 좌표를 인자로 받는 생성자로, x = _x, y = _y로 초기화 Point_(const Point_& pt); // 복사 생성자로, x - pt.x, y = pt.y 로 초기화 Point_& operator = (const Point_& pt); // 대입 연산자 재정의 _Tp dot(const Point_& pt) const; // Point::dot()..

[OpenCV] Visual Studio - OpenCV 환경 설정

Visual Studio에서 OpenCV를 사용하기 위해서 Debug와 Release 항목은 각각의 설정을 해주어야 한다. ​ 설정은 디버그와 릴리즈 항목 동일하지만, 추가 종속성 항목에서만 다르다. 릴리즈 항목을 설정하기 위해서 프로젝트 속성 - 구성 항목을 릴리즈로 변경하면 된다. ​ 아래 코드는 설치되어 있는 OpenCV 버전을 확인하는 코드이다. 해당 코드를 빌드하면 오류가 발생한다. #include "opencv2/opencv.hpp" #include int main() { std::cout > 추가 포함 디렉터리에서 우측 화살표 >> 클릭 ​ ​ 우측 메뉴 4개 중 좌측 메뉴(줄 추가) 클릭 후 $(OPENCV_DIR)\include 입력 $(OPENCV_DIR)\include는 C:\open..

[OpenCV] 주요 모듈

OpenCV 모듈 OpenCV 라이브러리는 다수의 모듈(module)로 구성되어 있다. 모듈은 OpenCV에서 제공하는 다양한 클래스와 함수를 그 기능과 성격에 따라 모아서 만들어놓은 OpenCV의 부분 라이브러리다. 예를 들어 OpenCV의 핵심 클래스와 함수는 core 모듈에 들어 있고, 영상 출력 기능은 highgui 모듈에 포함되어 있다. OpenCV는 다수의 모듈 라이브러리가 모여서 만들어진 것이다. 모듈 이름 설명 calib3d 카메라 캘리브레이션과 3차원 재구성 core 행렬, 벡터 등 OpenCV 핵심 클래스와 연산 함수 dnn 심층 신경망 기능 features2d 2차원 특징 추출과 특징 벡터 기술, 매칭 방법 flann 다차원 공간에서 빠른 최근방 이웃 검색 highgui 영상의 화면 ..

[OpenCV] OpenCV란

OpenCV(Open source Computer Vision) OpenCV란 인텔에서 개발한 이미지 처리를 위한 라이브러리로, 주로 실시간 이미지 처리를 위해서 사용된다. ​ OpenCV는 1999년 인텔의 개리 브래드스키(Gary Bradsky)가 개발을 시작하여 2000년에 처음 공개된 C/C++ 기반의 영상 처리 전용 라이브러리이다. 파이썬, C#등 다양한 언어를 지원하고 있다. ​ OpenCV를 사용하면 쉽게 영상 처리를 할 수 있고, 다양한 영상 처리 알고리즘을 지원하며, 카메라와 같은 장치를 통한 영상 입력 기능들도 제공하고 있다. ​ 영상 처리, 패턴 인식, 컴퓨터 비전 알고리즘을 구현한 풍부한 함수를 제공하며, 영상의 인식과 처리, 색상 공간의 변환, 필터링, DTF 및 FET, 주파수 ..