본문 바로가기

opencv4

OpenCV 주요 기능 - 4. OpenCV 데이터 파일 입출력 1. FileStorage 클래스 Mat 클래스 객체뿐만 아니라 일반적인 C/C++ 자료형 데이터를 XML, JSON 등 파일 형식으로 저장하는 기능을 제공. OpenCV에서 사용하는 데이터의 파일 입출력 기능을 캡슐화하여 지원하는 클래스임. OpenCV 데이터를 저장하거나 읽어 오려면 먼저 FileStorage 객체를 생성해야 함. -> FileStorage fs; // 실제 사용할 파일 열기 virtual bool FileStorage::open(const String& filename, int flags, const String& encoding = String()); filename에는 데이터 파일 이름을 지정. flags는 파일 열기 모드를 결정. FileStorage::mode 열거형 상수를 .. 2020. 2. 14.
OpenCV 주요 기능 - 3. 이벤트 처리 1. 키보드 이벤트 처리 // 키보드 입력을 처리하는 함수 int waitKey(int delay = 0); delay : 키입력을 기다리는 시간. 지정하지 않거나 0 또는 음수일 경우 무한히 기다림. 반환값이 눌러진 키값(아스키 코드), 눌러진 게 없을 경우 -1이 반환됨. 특수키의 경우) // 특수키의 입력을 처리하는 함수 int waitKeyEx(int delay = 0); 2. 마우스 이벤트 처리 openCV에서 마우스 이벤트를 처리하려면 먼저 마우스 콜백 함수를 등록하고, 이후 마우스 콜백 함수에 마우스 이벤트를 처리하는 코드를 추가해야 함. // 특정 창에 마우스 콜백 함수를 등록할 때 사용하는 함수 void setMouseCallback(const String& winname, MouseCa.. 2020. 2. 13.
OpenCV 주요 클래스 - 2. Mat 클래스(3) 3. 행렬의 복사 // 메모리 공간을 새로 할당하여 픽셀 데이터 전체를 복사 ( 깊은복사 ) Mat Mat::clone() const; void Mat::copyTo( OutputArray m ) const; void Mat::copyTo( OutputArray m, InputArray mask ) const; clone() 함수는 자기 자신과 동일한 Mat 객체를 완전히 새로 만들어서 반환 clone() 함수의 반환값은 *this 행렬의 복사본 copyTo() 함수는 인자로 전달된 m 행렬에 자기 자신을 복사함. 함수를 호출한 행렬과 인자로 전달된 행렬 m이 서로 크기와 타입이 같으면 원소 값 복사만 수행 함수를 호출한 행렬과 인자로 전달된 행렬 m이 서로 크기와 타입이 다르면 copyTo() 함수 내.. 2020. 2. 12.
OpenCV 주요 클래스 - 1. 기본 자료형 클래스 1.Point_ 클래스 Point pt1; // pt1 = (0, 0) pt1.x = 5; pt1.y = 10; // pt1 = (5, 10) Point pt2(10, 30); // pt2 = (10, 30) Point_ 클래스는 2차원 평면 위에 있는 점의 좌표를 표현하는 템플릿 클래스 Point_ 클래스는 템플릿 클래스이기 때문에 실제로 사용할 경우 어떤 자료형으로 좌표를 표현할 것인지 명시해야 함. OpenCV는 자주 사용하는 자료형에 대하여 Point_ 클래스 이름을 재정의하여 제공함. typedef Point_ Point2i; typedef Point_ Point2f; typedef Point_ Point2d; typedef Point2i Point; 2. Size_ 클래스 Size sz1, s.. 2020. 2. 8.