'OpenCV'에 해당되는 글 6건

  1. 2009.11.15 SAHGM (환경 적응 손동작 인식 마우스) Final (8)
  2. 2009.08.23 SAHGM Software R&D - 7
  3. 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 신고  댓글주소  수정/삭제  댓글쓰기

    넘 제스탈이어서요...


RGB Color Space에서 HSV Color Space로 바꾸어,

IRLED를 이용해, V(조명도)값을 어느정도 고정 시켜주어  일정 이상의 Threshold 값으로 맞추어고,

H(Hue),S(Saturation)값을 이용해 피부색(살색 : 흑인X, 백인X)을 맞추어 주었다.

그렇게 해서 세가지 값을 And를 취하여 최종적으로 아래와 같이 손바닥이 나오도록 하였다.


물론 얼굴을 가까이 다가가면 얼굴도 함께 나온다.





또한 사진을 자세히 보면, 높은 인식률로 손가락(빨간원)이 검출 되고 있는 것을 볼 수 있다.

하지만 엄지손가락의 위치가 약간 어긋나는 문제점이 있다.


저작자 표시 비영리 변경 금지
신고
Posted by 바로아이

댓글을 달아 주세요

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

다시 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 바로아이

댓글을 달아 주세요



티스토리 툴바