SURF/OpenCV 2011.09.23 11:24
SURF를 공부하기 시작한지 언~1주일....
SIFT와는 달리 좀 자료가 많은건지 어쩐지...일단 오픈소스가 많이 있는 것 같은데...이리저리 해매다가 사이트를 발견.... 
http://www.chrisevansdev.com/computer-vision-opensurf.html

빨간 박스로 표시된 부분을 클릭하면 소스를 다운받을 수 있다.

 
다운받은 파일의 내용을 확인하면, 원본 파일에도 Visual Studio프로젝트가 있지만, 2008버젼과 2005버젼만 있어서 2010 프로젝트로 새로 만들었다. 그리고 프로젝트에서 OpenCV를 사용할 수 있도록 환경을 설정하였다. 환경설정 방법은, 본 블로그의 OpenCV 카테고리에 나와있다. 

컴파일을 하면 꾀 많은 워닝이 발생한다. 하지만 일단은 컴파일 성공..~~!!!!
두근거리는 마음으로 실행을 시켜보니~ 빙고~!!! 일단 돌아간다.

 
main함수의 소스를 보면 PROCEDURE라는 디파인 문을 볼 수 있다. 이것의 값을 바꾸면 몇가지 다른 기능들을 테스트 해 볼 수 있는데, PROCEDURE을 3으로 하면 기준 이미지와 캠으로 들어오는 영상간 비교해서 같은 부분을 찼는 동작을 한다. 아래 그림이 그 실행 모습을 캡쳐한 것이다. 우측의 창이 기준 이미지이고 좌측의 창이 캠으로 들어오는 영상인데, 두개를 비교하여 매칭이 되면, 아래의 그림처럼 하얀색 박스로 표시가 된다.  



 아직 소스분석이 전혀 되지도 않았고, 아직 SURF알고리즘도 잘 몰라서...ㅜ.ㅜ 소스분석은 그냥 일단 넘어가자..

어쨌든 기본적인 구현 레퍼런스는 된 것 같으니, 이제부터 이론 공부에 들어간다.
힘내자 아자~!!! 
 
 
posted by Brittle Diamond brittledia

댓글을 달아 주세요

  1.  Addr  Edit/Del  Reply 김현식

    안녕하세요.
    이제 막 openCV와 SURF를 공부하려고 하는 학생입니다.

    올리신 글을 보고 악박감을 주는 13개의 경고를 무시하고
    실행했을때 다른 것들은 잘 되는듯 했습니다.

    그런데 3번 mainMatch 를 실행했을때
    저장된 이미지를 불러오고 나서 캠 화면이 안뜨길래
    엔터를 한번 쳐보니 캠화면은 떴습니다.

    하지만 두 영상이 매칭이 되어 흰 박스 표시가 떠여할텐데
    아무런 반응이 없습니다.

    원래 실행후 두 창이 같이 뜨는게 아닌가해서 문의드립니다.

    2011.10.09 21:02
  2.  Addr  Edit/Del  Reply Brittle Diamond brittledia

    글이 늦었네요. 벌써 문제를 해결하셨나 모르겠습니다.
    말씀하신데로 저장된 파일을 읽어오는 창이 먼저 뜨게됩니다.
    그리고 엔터를 치면 캠 화면이 나타납니다.
    여기서 두 영상이 매칭되면 흰 박스가 나타나는데, 아마 그렇지 않다는 건
    알고리즘에서 매칭을 시키지 못하는 영상이었던 것 같습니다. 좀 더 단순한 문양을 가지고 테스트 해 보시면 어떨까요?

    2011.10.10 23:04 신고
  3.  Addr  Edit/Del  Reply 김현식

    답변 감사드립니다.

    제가 해보려고 했던것이 야구공이었는데..
    서로 매치할 특징점이 적었던 모양입니다.

    다른 물건으로 해보니 잘 되더군요 ;;

    그리고
    mainMatch 함수에
    surfDetDes(img, ref_ipts, false, 6, 5, 3, 0.0004f);
    이 부분의 숫자들을 변경하니 이미지에서 특징점을 더 많이 찾더군요..

    아직 소스를 제대로 알고 있는게 아니라 왜 그래 되는지는 모르겠고요
    공부가 필요한듯 합니다 ㅠ

    그리고 완전 백지상태라 제가 쓰고 있는 말이 맞는건지 모르겠네요;;

    종종 궁금한 점 올려도 될련지요 ^ ^;
    그럼 수고하세요.

    2011.10.10 23:19
  4.  Addr  Edit/Del  Reply Brittle Diamond brittledia

    저도 백지상태에서 조금씩 보는거라...아직 어려움이 많네요.
    같이 모르는 것 서로 물어보면서 공부하면 재미있을 것 같네요~ ^^

    지금 저는 opensurf 레퍼런스 자료를 중점으로 보고있습니다.
    코드도 조금씩 같이 보고있는데, 소스도 천천히 분석하고 블로그에 올릴려고 해요.
    혹시 앞으로 제가 블로그에 글을 올리는데, 틀린 부분이 있으면 도와주세요~ ^^

    surfDetDes함수에 대해 알려주신 정보 감사합니다. ^^

    2011.10.11 10:46 신고