원칙적으로 이것은 실제 문제에 적용하지 않는 알고리즘에 관한 것이지만 몇 주 전의 문제에 대한 후속 질문 입니다.
이 알고리즘은 기본적으로 왼쪽 상단부터 시작하여 경계선 인 픽셀을 찾을 때까지 그림의 모든 라인을 검색합니다. 의사 C ++에서 :
int start = 0;
for(int i=0; i<amount_of_pixels; ++i)
{
if(pixels[i] == border)
{
start = i;
break;
}
}
하나를 찾으면 행진 사각형 알고리즘을 시작하고 픽셀이 속한 모든 객체의 윤곽을 찾습니다.
다음과 같은 것이 있다고 가정 해 봅시다.
흰색을 제외한 모든 것이 경계인 곳.
첫 번째 얼룩의 윤곽 점을 찾았습니다.
일반적인 알고리즘은 끝났습니다. 윤곽을 찾아서 작업을 완료했습니다. 다른 두 얼룩으로 이동하여 윤곽선을 찾으려면 어떻게해야합니까?
도움이 필요하시면이 stackoverflow.com/questions/17232672/…