opencv Harris Detector(모서리 탐지)

사물의 모서리를 탐지한다는 게 별다른 것은 없지만서도,
나름대로 사물의 경계를 탐지하는 데에 있어서는 중요하게 작용할 것이다.

opencv 를 이용해 체스판의 모서리를 파악해보는 코드를 돌렸다
Harris Corner Detector 라고 하는데 1988년에 완성된 코드라고 한다.
지금에 와서는 분명히 더 많이 발전을 했을 텐데도
어떻게 모서리를 감지하는 것인지 신기하기만 하다
갈 길이 멀구나 하는 것을 단박에 느낄 수 있었다.

예제로 등록되어 있는 코드를 그대로 갖다 베낀 것인데(솔직히 제대로 돌아갈 거라는 기대조차 하지 않았다. 분명히 오류가 뜨겠거니 했었지..)

기가 맥히게 모서리를 잘 잡아내어서 놀랐다. 물론 융털처럼 되어 있는 바닥까지도 모서리로 판단하는 것은 어쩔 수 없지만..


보다 좋은 모서리 탐지 코드가 있다길래 한 번 돌려보았다. 따로 이름이 있는 것은 아니고 harris detector를 좀 더 발전시킨 것인데, 사실 좀 더 잘 잡는 것인지 어쩐지는 잘 모르겠다.

그냥 Harris 탐지기가 모서리에 빨간 점을 다닥다닥 찍어 놓은 것과는 달리 개선된 코드는 깔끔하게 하나씩만 찍은 것이 마음에 들긴 하지만 막 다른 점이 있지는 않다. 원리가 어떤고 하니 다닥다닥 찍힌 점의 원심을 찾는 코드를 여러번 돌림으로써 점의 개수를 줄인다고 한다. 원심을 찾아나갈 수록 그것이 모서리에 가까워지는지 어쩐지는 확실하지 않다만 아마도 그렇기 때문에 코드를 그렇게 짰겠지.

댓글

이 블로그의 인기 게시물

아두이노 - 안드로이드 블루투스 연결 및 실시간 그래프 표현 (1)

opencv feature matching 으로 월리 찾기

라즈베리3에 텐서플로 설치 & Python 3.6 설치