컴퓨터비전

    [OpenCV] Face detection (얼굴 검출)

    컴퓨터가 물체를 어떻게 찾아낼까? training stage : 많은 사진을 모아 물체를 나타내는 특징을 찾아내기 ( 학습시킴 ) test stage : input image로 부터 특징을 추출해내기 Harr-like feaure -모든 사람은 얼굴이 다르게 생겼지만 그 패턴은 같음 (눈,코,입) - 사람의 얼굴 위에 흑백의 사각형을 겹쳐 놓은 다음 밝은 영역에 속한 픽셀 값들의 평균에서 어두운 영역에 속한 픽셀값들의 평균의 차이를 구한다. (어두운 영역에 속한 픽셀값의 평균 - 밝은 영역에 속한 픽셀값의 평균을 계산하고 임계값 이상인 것을 찾으면 된다) - feature의 크기와 모양, 위치는 다양할 수 있다. (검은색부분과 흰색부분의 크기는 같아야 함) Boosting : weak-learner 로 ..

    [OpenCV] 배경 제거 (Background subtraction)

    1. 간단한 배경제거 알고리즘 가정 : 동일한 위치에서 촬영, 두 영상의 조명 상태에 차이가 없어야 한다. 두개의 이미지 프레임 : foreground(x,y,t) , background(x,y,t) (t=시간) 이 있다고 가정 알고리즘 만약 |foreground(x,y,t) - background(x,y,t)| > threshold (임계값) 이라면 destination(x,y,t) = 1 혹은 255 아니라면 destination(x,y,t) = 0 #include "cv.hpp" #include using namespace cv; using namespace std; int main(){ VideoCapture capture("background.mp4"); Mat background ,image,..

    [OpenCV] Threshold(임계값 설정), Inrange

    Threshold : 이미지를 이진화 하여 흑/백을 나누는 기술 threshold 함수에는 cv.threshold 와 cv.adaptivethreshold 가 있다. 기본임계처리 cv.threshold(Mat src, Mat dst, double thresh, double maxval, int type) Mat src : input image Mat dst : output image double thresh : 임계값 double maxval : 임계값을 넘었을 때의 value int type : threshold type [threshold type] THRESH_BINARY : 픽셀 값이 threshold 보다 크면 maxval(255 흰색), 아니면 0(검정) THRESH_BINARY_INV :픽셀..