본문 바로가기

computer vision17

OpenCV 주요 클래스 - 2. Mat 클래스(4) 6. 행렬 정보 참조하기 Mat::data 멤버 변수는 행렬 원소 데이터가 저장되어 있는 메모리 공간의 시작 주소를 가리키는 포인터. Mat 클래스 정보 참조를 위한 멤버 함수 Mat 클래스 멤버 함수 설명 int Mat::channels() const; 행렬의 채널 수를 반환 int Mat::depth() const; 행렬의 깊이를 반환합니다. (예) CV_8U size_t Mat::elemSize() const; 한 개의 원소가 차지하는 메모리 크기를 바이트 단위로 반환 size_t Mat::elemSize1() const; 하나의 채널에서 한 개의 원소가 차지하는 메모리 크기를 바이트 단위로 반환 bool Mat::empty() const; 비어 있는 행렬이면 true를 반환 bool Mat::is.. 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 주요 클래스 - 2. Mat 클래스(2) 2. 행렬의 생성과 초기화 // 1. Mat 객체 생성 Mat::Mat(int rows, int cols, int type);// 세로, 가로 순서로 입력 Mat::Mat(Size size, int type);// Size 클래스 내부에 값 지정 시 가로, 세로 순서로 입력 // 2. Mat 객체 생성 - 쓰레기 값 생성 방지 Mat::Mat(int rows, int cols, int type, const Scalar& s); Mat::Mat(Size size, int type, const Scalar& s); type에는 Mat 객체의 타입을 나타내는 매크로 상수를 전달. 2020. 2. 9.
OpenCV 주요 클래스 - 2. Mat 클래스(1) 1. 개요 OpenCV 라이브러리에서 가장 많이 사용하는 클래스 일반적인 2차원 행렬뿐 아니라 고차원 행렬 표현 가능, 한 개 이상의 채널을 가질 수 있음. 정수, 실수 등으로 구성된 행렬 또는 벡터, 그레이스케일, 컬러 영상, 경우에 따라 벡터 필드, 포인트 클라우드, 텐서 등 정보 저장 가능 Mat 클래스의 멤버 변수 Mat::dims : Mat 행렬의 차원을 의미, ex) 영상처럼 2차원 행렬일 경우 값은 2 Mat::rows : 행렬의 행 개수 - 2차원 행렬일 경우에만 의미있고 3차원 이상일 경우 -1로 저장 Mat::cols : 행렬의 열 개수 - 2차원 행렬일 경우에만 의미있고 3차원 이상일 경우 -1로 저장 Mat::size : 3차원 이상의 행렬의 크기 정보 참조 Mat::data : 행.. 2020. 2. 9.
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.