OpenCV를 이용한 간단한 손, 얼굴(피부색) Skin Color 검출 코드
#include "stdafx.h"
#include "opencv/cv.h"
#include "opencv/highgui.h"
#include "opencv/cxcore.h"
#include "opencv/cvaux.h"
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
// 캡처, 윈도우 생성
CvCapture *capture = cvCaptureFromFile("1.avi");
cvNamedWindow("tt", 1);
IplImage *frame;
IplImage *resultImage;
cv::Mat m_pImage, skin, tempImage;
IplImage copy;
while (capture)
{
// 프레임 영상 받아오기
frame = cvQueryFrame(capture);
// Mat 객체로 변환
tempImg = cv::cvarrToMat(frame);
// YCrCb색상으로 변환 후 피부색 범위 설정
cv::cvtColor(tempImage, m_pImage, CV_BGR2YCrCb);
cv::inRange(m_pImage, cv::Scalar(0, 133, 77), cv::Scalar(255, 173, 127), m_pImage);
skin = (m_pImage.size(), CV_8UC3, cv::Scalar(0));
cv::add(tempImage, cv::Scalar(0), skin, m_pImage);
copy = skin;
resultImage = ©
// 결과 영상 출력
cvShowImage("tt", resultImage);
if (cvWaitKey(33) == 27) break;
}
// 메모리 해제
cvReleaseImage(&frame);
cvReleaseImage(&resultImage);
cvReleaseCapture(&capture);
cvDestroyWindow("tt");
return 0;
}
'Computer VIsion > 영상처리' 카테고리의 다른 글
[OpenCV] 이미지 와핑(Warping) (0) | 2017.04.10 |
---|---|
[OpenCV] 얼굴 검출 (Face Detection) (0) | 2017.03.30 |
[OpenCV] 차영상 구현 코드 (3) | 2017.03.24 |
[OpenCV] [MFC] 동영상 파일 선택해서 재생하기 (0) | 2017.03.20 |
[영상처리] 용어 해설 (0) | 2017.03.15 |