사진 촬영할 때 마다 미묘하게 어긋날 수 있다는 문제를 해결하려면..
결국 어떤 기준이 되는 점을 정해서 그 점을 기준으로 회전을 하던가 해야할 것이다.
Optic disc의 중간 쯤 되는 어떤 부위가 가장 좋을 것 같아서
이 점을 찾는 어떤 알고리즘을 구현하기로 하였다.
RGB 3개의 색중에서는 Red가 그나마 좀 Optic disc를 표현하는데 적절하지 않을까 생각된다.
Cut off value 는 기억이 안나는데 아무튼 꽤 높은 cut off value 를 선택해서
그 이상이 되는 빨간색만 남게 하면 대충 이런 식이 되게 된다.
우선 optic disc는 기본적으로 타원형의 모양을 하고 있는 것 같다.
안과 전문의의 옥음에 의하면 모양도 다양하다고는 하지만..
그런거 일일이 고려하면 끝도 없으니 우선 타원형을 기준으로 하였다.
Optic disc 이외의 부분에서 굉장히 R값이 높은 부분이 관찰된다.
하지만, 이런 부분은 그 면적이 작기 때문에
해당 부분은 고려는 하되, 중요하지는 않도록 처리를 해야한다.
원점을 기준으로 하는 타원의 공식은 다음과 같다.
타원 방정식에서 a, b 값에 근사할 만한 수치를 지정해준다.
타원이 그림 파일을 쭈~욱 훑으면서 움직이게 하면서
타원 내부에 진한 빨간점이 몇 개인지 혹은 어느 정도인지 평가한다.
이 방법이라면
내가 원하는 기준점쯤에서는 타원 내부에 들어가 있는 빨간점들이 가장 많을 것이다.
나머지는 검색 시간을 줄여주기 위하여 훑어나가는 범위를 줄여주기만 하면 된다.
내 머리속의 평면 좌표는 (X, Y)로 구성되어 있는데
Matrix에서는 [Y, X] 로 되어 있어서
한 참 헷갈린 끝에 적당한 점을 찾는데 성공했다.
이 방법의 문제가 있다면...
가장 큰 문제인데..
거의 흑백에 가깝게 나오는 Red free filter 사진에 적용시키는게 문제라고..
OTL...
자.. 다시 시작하자. ;-)
'공부해 봅시다 > R-Project' 카테고리의 다른 글
Bootstrapping (1) | 2013.07.09 |
---|---|
Kaplan-Meier (0) | 2013.07.07 |
이미지 회전 (0) | 2013.04.12 |
이미지 이동 (0) | 2013.04.12 |
그림 파일 불러오기 (0) | 2013.04.12 |