메뉴 건너뛰기

OBG

Programming

Library
2012.10.14 23:31

[OpenCV] 얼굴 인식 예제

MoA
조회 수 1536 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

if( m_pImage ) cvReleaseImage( &m_pImage );

m_pImage = cvLoadImage("somePicture.jpg", CV_LOAD_IMAGE_COLOR);
double scale = 1.3;

CvMemStorage* storage = cvCreateMemStorage(0); 

// 영상 준비 
// 
IplImage* gray = cvCreateImage( cvSize(m_pImage->width,m_pImage->height), 8, 1 ); 
IplImage* small_img = cvCreateImage(
cvSize( cvRound(m_pImage->width/scale), cvRound(m_pImage->height/scale)), 8, 1 
); 
cvCvtColor( m_pImage, gray, CV_BGR2GRAY ); 
cvResize( gray, small_img, CV_INTER_LINEAR ); 
cvEqualizeHist( small_img, small_img );

// 객체 검출 
// 
cvClearMemStorage( storage ); 
CvSeq* objects = cvHaarDetectObjects(
small_img, 
m_pCascade, 
storage,
1.1, 
2, 
0  /*CV_HAAR_DO_CANNY_PRUNING*/, 
cvSize(30, 30)
);

// 객체를 찾고 박스를 그린다.
// 
for( int i = 0 ; i < (objects ? objects->total : 0) ; i++ ) 
{
CvRect* r = (CvRect*)cvGetSeqElem( objects, i );
CvPoint center;
int radius;
center.x = cvRound((r->x + r->width*0.5)*scale);
center.y = cvRound((r->y + r->height*0.5)*scale);
radius = cvRound((r->width + r->height)*0.25*scale);
cvCircle( m_pImage, center, radius, cvScalar(255, 0, 0), 3, 8, 0 );


cvReleaseImage( &gray ); 
cvReleaseImage( &small_img ); 
cvReleaseMemStorage( &storage );

Invalidate(FALSE);

 

위 소스를 적당히 이용하여 새로운 창으로 이미지를 띄우든 (cvNameWindow()) static control에 띄우든(CvvImage class) 한다.

 

결과

 

FaceDetect - Secret.png

 

리본만도 못한 불쌍한 송지은 ㅋㅋㅋ

 

참고 : Learning OpenCV 제대로 배우기

?

  1. Programming 게시판 관련

  2. __cdecl , __pascal, __stdcall

  3. __FILE__ __LINE__ __FUNCTION__ 등 매크로

  4. [12월 1주] 떠오르는 '미스트랄 7B'...'라마 2' 이어 한국어 모델 세대교체 주도

  5. [GUI] Tkinter, wxPython

  6. [GUI] wxPython 기본 프로그램

  7. [GUI] wxPython에서 에러메시지 콘솔로 보는 법

  8. [ifkakao] 추천 시스템: 맥락과 취향 사이 줄타

  9. [Javascript] 비동기, Promise, async, await 확실하게 이해하기

  10. [OpenCV] 얼굴 인식 예제

  11. [S/W 공학] 월-인원(man-month), LOC

  12. [VESSL AI] 뉴욕주민의 프로젝트플루토 — LLM, LLMOps를 활용한 금융 미디어의 혁신

  13. [게임 만들기] 강좌 진행 예정

  14. [농장게임 만들기] 1. Nubcake Farms 게임 소개

  15. [농장게임 만들기] 10. 상점을 추가하자

  16. [농장게임 만들기] 2. Nubcake Farms 클래스 분석

  17. [농장게임 만들기] 3. 배경을 그리자

  18. [농장게임 만들기] 4. 펜스를 그리자

  19. [농장게임 만들기] 5. 플레이어를 추가하자

  20. [농장게임 만들기] 6. 나머지 오브젝트를 그리자

  21. [농장게임 만들기] 7. 농부 행동 추가

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15
위로