내맘대로 공부기록.

튜토리얼 3

[ openCV | C++ ] approxPolyDP 함수 사용 방법.

어떤 함수 ❓ 🤔 "형상을 근사" 하는 함수입니다. 검출된 형상(외곽선)을 표현하기 위해, 점 데이터가 사용되어지는데요. 그 데이터 수를 수많은 어레이 점 데이터에서, 보다 적은 점으로 커브 또는 다각형 형상을 표현할 수 있게 됩니다. 조금 더 쉽게 풀어 얘기하면, 사각형 물체의 컨투어(외곽선)를 점 20개로 세밀하게 표현했다고 합시다. 하지만 우리는 사실 사각형(다각형)을 표현하기 위해 꼭지점 네 점만 있으면 되죠. 즉, 사각형(특정 형상)을 표현하기 위한 최소 데이터를 20에서 4개로 근사화 했다 ! 라고 하는 작업을 해주는 함수입니다. (근사 정확도 설정에 따라서, 커브 또는 점 데이터 갯수는 변경될 수 있습니다.) approxPolyDP( 컨투어 포인트 어레이, 근사된 포인트 어레이, 근사 정확도..

[ C++ ] 2021.03.17

[ openCV | C++ ] drawContours 함수 사용 방법.

어떤 함수 ❓ 🤔 "그리는" 함수 입니다. 컨투어를 검출하는 작업이 아닌, 검출된 컨투어 데이터를 이미지에 뿌려서, 이미지를 표현 하는 함수입니다. drawContours( 타겟이미지, 검출된 컨투어 포인트 어레이, 포인트 어레이 인덱스, 컨투어 색상, 컨투어 라인 두께, 컨투어 라인 타입, ... ) 매개변수 (설명) 🔑 타겟이미지 : 컨투어 라인을 그릴 이미지를 지정합니다. Mat 형태의 이미지 파일을 지정하면 됩니다. 🔑 검출된 컨투어 포인트 어레이 : approxPolyDP 함수를 이용하여 얻어진, 다각형을 표현하는 (근사된) 포인트 집합 데이터를 대입합니다. 이 데이터를 생성하기 위해서는 findContours 작업이 선행되어야 합니다. 🔑 포인트 어레이 인덱스 : 두번째 인수(어레이)의 인덱스..

[ C++ ] 2021.03.07

[ openCV | C++ ] 기본기. 얼굴 인식(검출) 방법과 벡터 변수의 활용

Cascade Classifier 🌞 C++ 환경에서 사람 얼굴 인식(검출)을 구현해보겠습니다. openCV 라이브러리에는 Cascade Classifier(분류기)가 제공되며, 이 Classifier에서는 두 가지 방법에 따라 구분될 수 있습니다. 첫 번째는 Haar classifier, 두 번째는 LBP classifier로 윤곽선을 검출할 수 있습니다. 일반적으로는 Haas feature 기반의 Classifier를 많이 사용한다고 합니다. (공홈 내용 참고하였습니다. Theory 부분을 열어봤지만, 블로그를 찾아보는 게 더욱 효과적이었습니다.) 얼굴 검출 classifier는 얼굴이 있는 이미지(Positive Image) / 얼굴이 없는 이미지(Negative Image) 데이터로부터 Casca..

[ C++ ] 2021.02.08
반응형