본문 바로가기

분류 전체보기67

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.
안드로이드스튜디오 branch 파서 Github에 올리기 1. master를 checkout한 상태에서 맨 하단부에 있는 Git:master를 누르고 +New Branch를 클릭. ​ 2. Branch 이름을 생성한다. ​ 3. Branch에서 작업을 하고 git에 올릴 때에는 일단 자신의 remote branch에 commit -> push를 한다. ​ 4. 그 후 local master에 checkout을 한다. (혹시 remote master에서 변경사항이 있을 경우 꼭 update Project 혹은 pull을 꼭 하고 merge Change를 한다.) ​ 5. merge Change 버튼을 눌러 창이 뜨면 내 해당 origin branch와 merge를 시킨다. ​ 6. 오류를 전부 해결한 뒤 merge를 시킨다. ​ 7. merge가 끝났으면 내 g.. 2020. 2. 9.
안드로이드스튜디오 처음 GitHub에 올리기 1. 먼저 repository를 만든다. -> github에서 new repository를 해서 이름을 설정하고 만든다. - 이름 설정 외에 따로 누를 건 없음 ​ 2. 안드로이드 스튜디오의 작업한 파일에서 VCS -> Enable Version Control Integration 을 누른다. ​ 3. 창이 뜨는데 해당 창에서 Git을 선택하고 OK 버튼을 누른다. -> 이 때 안드로이드 스튜디오 창에 맨 하단부에 Git:master가 생겼는 지 확인 ​ 4. 다시 VCS를 누르고 Commit을 한다.(git에 올릴 파일들을 선택하는 과정) ​ 5. 창이 뜨면 자신이 올릴 파일들을 선택한다. 보통은 Unversioned Files 전체를 선택하면 될 것. 6. git에 올라갈 Commit Message를.. 2020. 2. 9.
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.