'Cog'에 해당되는 글 2건

  1. 2009.11.15 SAHGM (환경 적응 손동작 인식 마우스) Final (8)
  2. 2009.06.24 SAHGM Software R&D - 2
SAHGM(Surrounding Adptive Hand Gesture Mouse)







(p.s. 얼굴은 감상하지 마시고.. 프로젝트 결과물에만..) 

결과는 그럭저럭.. 하지만 개선해야할 점이 워낙 많다...

환경적응이라고는 하지만, 조명의 난점은 여전히 존재한다, 그리고 처리 속도( 연산량 장난아님.. ) 




본 연구에서 새로 고안한 손가락 검출의 결과이다.

새로 고안한 방법은 아직 공식 검증이 되지 않아, 검증이 이루어지는데로 발표해야겠다;;;

Posted by 바로아이

댓글을 달아 주세요

  1. 마틴 2009.11.16 11:35 신고  댓글주소  수정/삭제  댓글쓰기

    멋진 영상 잘 보았습니다.
    여긴 소리가 안나와서 님 설명은 못들었지만,
    나중에 다시 보면서 자세한 내용들 더 알 수 있으면 좋겠네요.

  2. 미녀 2009.11.18 12:18 신고  댓글주소  수정/삭제  댓글쓰기

    연락처좀.. 알 수 없을까요?

  3. 꾸루꾸루 2009.11.29 22:04 신고  댓글주소  수정/삭제  댓글쓰기

    양쿠키 님이시군요...

    OpenCV 까페에서 님 답변보고 많은 해답을 얻어간 초보입니다^^
    영상보니 손 추출부분이 장난이 아니네요..

    저도 지금 손추출하여 핸드포인팅 장치를 만들고 있습니다.,ㅠㅠ;;

    까페에도 글을 올려놨찌만....남들은 손은 그래도 꽉 찬 흰색으로 나오는데 전 완전 조약돌로 붙여놓은듯
    엄청난 노이즈를 가지고 오는군요...

    Skincolor Detection 부터 해서 어떤 방법을 사용하셨는지 궁금하군요..ㅠ

    조언좀 부탁드립니다.
    imagej@ncc.re.kr

    메일로 답변해주시면 더욱더 감사하겠습니다.

    저도 열심히 배워서 님처럼 제가 만든 프로그램을 영상으로 찍어서 올릴수 있는 그날까지 많은 도움 주시길 바랍니다.(__)

    • 바로아이 2009.12.01 04:47 신고  댓글주소  수정/삭제

      네 많은 관심 감사합니다.

      이제 곧 기말고사 기간이 들어가서...

      일단 주위 조명 환경도 꽤 중요하다고 봅니다.

      환경을 최대한 최적으로 해놓으신상태에서 진행을 해보시면 어떨가 싶습니다..

      조약돌처럼 나온다는건..

      필터링 적용의 순서에 문제가 있지 않나 싶기도한데...

      흠..

      일단 스킨 추출 후 필터 적용하신거 맞으시죠?

      물론 다양한 방법들이 존재는 하겠지만도...

      한번 직접 봤으면 좋겟네여;;;


      일단 필터 무시하시고,

      최적 조명 환경 하에, skin detection을 우선적으로 해보세요~

      어떤 색상모델을 이용하셧는지는 모르겟지만

      전 HSV를 이용햇습니다.

      HSV한번 이용해보심이 어떠실지..

  4. 미녀 2009.12.01 04:11 신고  댓글주소  수정/삭제  댓글쓰기

    넘 제스탈이어서요...

졸업반인데...
대망의 기말고사도 끝나고..(잘 보진 못했지만... 진학 어떻게 하노...)
아무튼,

다시 SAHGM 연구를 재개 하였다..


/* make a binary image */
 cvEqualizeHist( g_image, g_image );
 cvThreshold(g_image, th_image, pos, 255, CV_THRESH_BINARY);

이퀄라이저를 통해, 평준화 시킨후, 이진화 영상을 만들어,
 
 /* Reduce noise */
 cvErode(th_image, th_image, 0, 2);
 cvDilate(th_image, th_image, 0, 1);
 cvSmooth(th_image, th_image, CV_MEDIAN, 3, 0, 0);
 cvErode(th_image, th_image, 0, 1);
 cvSmooth(th_image, th_image, CV_MEDIAN, 3, 0, 0);

위와 같이 노이즈 제거를 하였다.
실제 캠 적용시, 속도와 성능을 위해 노이즈 제거에 대한 연구는 계속 되어야할 것 같다.
다양하게, 여러번,  침식, 팽창, 스무딩 처리등을 해보았지만, 결과는 크게 변화가 없었다.
다른 노이즈 제거 방법을 알아보던가 해야할 것 같다.


/* find contours */
 cvFindContours( dst_image, contour_storage, &contour, sizeof(CvContour), CV_RETR_TREE, CV_CHAIN_APPROX_NONE);

이후,  contour를 이용하여, 콘투어 알고리즘 후,

/* find convex hull */
hull = cvConvexHull2(contour, storage2);

convex hull 알고리즘 (opencv : cvConvexHull2() )을 이용하여, 손가락의 끝점들을 검색하고,

convexhull 점들을 이용하여
무게중심 COG(Center of Gravity) 를 구하였다.

사실 처음에는 콘투어하여 생긴 외곽선(점들)을 이용하여  COG를 구해보았지만, COG의 점이 예상지점보다 위에 있어서.

Convex Hull 점을 이용하여 위의 사진과 같이 무게중심( X표시 지점)을 구하였다.


Posted by 바로아이

댓글을 달아 주세요