이미지 프로세싱 관련 질문입니다.
- 여러개의 픽셀이 있습니다. - 그런데 여러 픽셀들을 묶을 경우 외곽선을 구성하는 픽셀들이 있고 (검은색) - 내부에 위치하는 픽셀들 (붉은색) 이 있게 됩니다.
이경우 외곽선을 구성하는 픽셀과 그 외에 내부에 위치하는 픽셀들을 구하려고 합니다.
어떻게 하는게 제일 간단하고 효율적일까요?
그림을 첨부해 봅니다.
볼록 껍질(convex shell) 만드는 알고리즘을 찾아보시면 될 것 같은데요
http://muse.incheon.ac.kr/jschae/lecture/algorithms/alg6.ppt
-------------------------- 피할 수 있을때 즐겨라!http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
한쪽이 무조건 다른한쪽에 포함됨을 가정할 수 있는 상황이라면,
네점의 좌표를 이용해 비교하는게 가장 쉬울것 같습니다.
최소 좌표점 ( x,y 축 기준으로 ) 만 비교해서 어느쪽이 작은가 판별해봐도 되구요.( 최대점만 이용해도 되고 )
포함됨을 가정할 수 없는 상황이라면 게임쪽에서 쓰는 충돌 알고리즘을 사용해보시는 것도 나쁘지 않습니다.
bounding box 쪽 알고리즘을 살펴보시면 최대한 CPU 나 GPU 를 적게 써서 근사하는 방법이 많습니다.
가장 간단한 예는 X,Y 축으로 각 좌표를 projection 해서 선분 이 완벽하게 다 포함되는가 확인 하는 방법이 있습니다.
이걸 이용하면 몇개의 matrix 연산 과 비교만으로 주어진 점들의 좌표가 다른 점들의 좌표에서 벗어나는지는 빠르게 판별해 낼 수 있습니다. ( 포함이 100% 확실하려면 다른 것을 좀 더 검사해야 합니다. )
Neogeo - Future is Now.
http://www.sccg.sk/~durikovic/classes/MA3/c-top05.pdf
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
볼록 껍질(convex shell)
볼록 껍질(convex shell) 만드는 알고리즘을 찾아보시면 될 것 같은데요
http://muse.incheon.ac.kr/jschae/lecture/algorithms/alg6.ppt
--------------------------
피할 수 있을때 즐겨라!
http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
한쪽이 무조건
한쪽이 무조건 다른한쪽에 포함됨을 가정할 수 있는 상황이라면,
네점의 좌표를 이용해 비교하는게 가장 쉬울것 같습니다.
최소 좌표점 ( x,y 축 기준으로 ) 만 비교해서 어느쪽이 작은가 판별해봐도 되구요.( 최대점만 이용해도 되고 )
포함됨을 가정할 수 없는 상황이라면 게임쪽에서 쓰는 충돌 알고리즘을 사용해보시는 것도 나쁘지 않습니다.
bounding box 쪽 알고리즘을 살펴보시면 최대한 CPU 나 GPU 를 적게 써서 근사하는 방법이 많습니다.
가장 간단한 예는 X,Y 축으로 각 좌표를 projection 해서 선분 이 완벽하게 다 포함되는가 확인 하는 방법이 있습니다.
이걸 이용하면 몇개의 matrix 연산 과 비교만으로 주어진 점들의 좌표가 다른 점들의 좌표에서 벗어나는지는 빠르게 판별해 낼 수 있습니다. ( 포함이 100% 확실하려면 다른 것을 좀 더 검사해야 합니다. )
Neogeo - Future is Now.
Neogeo - Future is Now.
convex hull algorithm
http://www.sccg.sk/~durikovic/classes/MA3/c-top05.pdf
댓글 달기