2010-11-24 2 views
0

신체 제한이있는 어린이를위한 간단한 색칠하기 책을 만들고 있습니다. 교사는 폐쇄 구역으로 만 구성된 프로그램에 그림을 삽입 할 수 있습니다. 그런 다음 이미지를 분석하고 닫힌 모든 영역 (어린이가 색칠 할 수있는 곳)을 찾아야합니다. 칠할 수있는 모든 영역이 하나씩 차례로 빛나기 때문에이 작업을 수행해야합니다. floodfill로이 작업을 수행 할 수 있으므로 모든 닫힌 영역 내부에 점 (X, Y 좌표)이 필요합니다.WPF : 이미지의 모든 닫힌 영역 찾기 (C# 또는 VB)

누구나 이런 식으로 한 적이 있습니까? 몇 가지 팁이나 소스 코드가 있습니까?

감사합니다.

답변

2

나는 자체 WPF에 많은 경험을 가지고 있지 않지만, 아마이 같은 알고리즘을 사용합니다 :

우선, 나는 이미지를 가정하고 엄격하게 흑백입니다. 즉, 순수한 검정색 (선) 및 순수한 흰색 (선명한 영역) 픽셀 만 있습니다.

  1. 는 왼쪽 상단의 픽셀을 검사 트루 컬러로 이미지를 변환합니다. (아웃 오브 바운드, 왼쪽으로 한 모든 방법을 아래로 이동하는 경우) 홍수가 오른쪽에 새로운 고유의 색상
  2. 이동 한 픽셀과
  3. 로 이동을 채우기 않습니다
  4. 이 픽셀이 흰색이면
  5. , 3

이제 이미지의 모든 영역은 다른 색을 갖습니다.

+0

의견을 보내 주셔서 감사합니다. 이것이 충분히 빠를 지 모르겠지만 시도해 보겠습니다. – Jackerd

+0

행운을 빌어 요! 더 빠른 방법을 찾으면 저희에게 알려주십시오 : D –

+0

그것은 효과가 있으며 충분히 빠릅니다. 당신의 도움을 주셔서 감사합니다! – Jackerd