내부 픽셀 구하기

magingax의 이미지

이미지 프로세싱 관련 질문입니다.

- 여러개의 픽셀이 있습니다.
- 그런데 여러 픽셀들을 묶을 경우 외곽선을 구성하는 픽셀들이 있고 (검은색)
- 내부에 위치하는 픽셀들 (붉은색) 이 있게 됩니다.

이경우 외곽선을 구성하는 픽셀과 그 외에 내부에 위치하는 픽셀들을 구하려고 합니다.

어떻게 하는게 제일 간단하고 효율적일까요?

그림을 첨부해 봅니다.

File attachments: 
첨부파일 크기
Image icon 3.png3.57 KB
snowall의 이미지

볼록 껍질(convex shell) 만드는 알고리즘을 찾아보시면 될 것 같은데요

http://muse.incheon.ac.kr/jschae/lecture/algorithms/alg6.ppt

--------------------------
피할 수 있을때 즐겨라!
http://snowall.tistory.com

피할 수 있을때 즐겨라! http://melotopia.net/b

neogeo의 이미지

한쪽이 무조건 다른한쪽에 포함됨을 가정할 수 있는 상황이라면,

네점의 좌표를 이용해 비교하는게 가장 쉬울것 같습니다.

최소 좌표점 ( x,y 축 기준으로 ) 만 비교해서 어느쪽이 작은가 판별해봐도 되구요.( 최대점만 이용해도 되고 )

포함됨을 가정할 수 없는 상황이라면 게임쪽에서 쓰는 충돌 알고리즘을 사용해보시는 것도 나쁘지 않습니다.

bounding box 쪽 알고리즘을 살펴보시면 최대한 CPU 나 GPU 를 적게 써서 근사하는 방법이 많습니다.

가장 간단한 예는 X,Y 축으로 각 좌표를 projection 해서 선분 이 완벽하게 다 포함되는가 확인 하는 방법이 있습니다.

이걸 이용하면 몇개의 matrix 연산 과 비교만으로 주어진 점들의 좌표가 다른 점들의 좌표에서 벗어나는지는 빠르게 판별해 낼 수 있습니다. ( 포함이 100% 확실하려면 다른 것을 좀 더 검사해야 합니다. )

Neogeo - Future is Now.

Neogeo - Future is Now.

bootmeta의 이미지