flood fill 예제

(주석은 검은 색 원 대신 흰색 영역을 채우기 위해 변경 사항을 표시합니다.) „PC에서. LIB“ 라이브러리에는 작업을 수행하는 FILL 프로시저가 있지만 예제 프로그램은 반복 메서드를 사용하여 ERRE 언어로 알고리즘을 구현합니다. 이 프로그램은 배포 디스크에서 가져와 320×200 그래픽에서 작동합니다. 플러드 채우기 알고리즘은 시작 노드, 대상 색상 및 대체 색상의 세 가지 매개 변수를 사용합니다. 알고리즘은 대상 색상의 경로에 의해 시작 노드에 연결된 배열의 모든 노드를 찾고 대체 색상으로 변경합니다. 플러드 채우기 알고리즘을 구조화할 수 있는 방법에는 여러 가지가 있지만 모두 명시적으로 또는 암시적으로 큐 또는 스택 데이터 구조를 사용합니다. 이 구현은 정확한 색상만 일치합니다. 예제 이미지에는 원 가장자리 주위에 회색 픽셀이 있기 때문에 내부가 채워진 후에도 회색으로 유지됩니다. 알고리즘을 조정하여 영역의 모양을 저장하기 위해 알고리즘을 조정하면 일반화를 통해 소스 기호에서 지정된 임계값까지 요소가 다를 수 있는 „퍼지“ 플러드 충진을 포함할 수 있습니다. 이 추가 배열을 알파 채널로 사용하면 채워진 영역의 가장자리가 채워지지 않은 영역과 다소 원활하게 혼합될 수 있습니다. [인용 필요] Write_a_PPM_파일에서 Read_ppm()을 읽고,a_PPM_파일, write_ppm()이 필요합니다. Bitmap_Circle.exw (Circle.ppm) 작업 프로그램의 출력을 사용 하 여 데모bitmapFloodFill.exw, 결과 데모로 확인 될 수 있습니다rosettaviewppm.exw BBC BASIC 내장 된 홍수 채우기 문을 가지고 있지만, 그것은 에 사용 되지 않는 작업의 조건을 만족 시키기 위해 이 예제를 참조하십시오.

아이디어는 정말 간단합니다, 첫째, 우리는 선택한 위치가 이전 색상으로 착색되어 있는지 여부를 확인, 하지의, 알고리즘이 작동하지 않습니다. 그렇지 않으면 해당 픽셀을 새 색상으로 채우고 네 개의 이웃에 대해 다시 입력합니다. 사용 예제 발췌(테스트 이미지에서 내부 검은색 원이 녹색으로 채워집니다): 테스트: 기본 알고리즘은 truecolor 이미지에 적합하지 않습니다. 가능한 테스트 이미지는 오른쪽 상자에 표시된 이미지입니다. 흰색 영역 또는 검은색 내부 원을 채우려고 할 수 있습니다. #1 경우 화가가 서 있는 픽셀을 페인트(채우기)하고 알고리즘을 중지합니다. 작업을 수행하려면 가능한 알고리즘 중 하나만 구현해야 합니다(예는 위키백과에 있습니다). 테마의 변형이 허용됩니다(예: 은행 또는 대상 색상의 색상 일치에 대한 공차 매개변수 또는 인수 추가). 위키백과에서 연결된 Lode Vandevenne의 알고리즘을 기반으로 스택이 있는 스캔라인 플러드필 알고리즘. Lingo에는 이미지 개체에 대한 플러드 채우기가 내장되어 있으므로 사용자 지정 구현은 무의미합니다: System을 사용하여 // 플러드 채우기 알고리즘을 구현하는 // C# 프로그램; 그리고 다음은 샘플 이미지에서 흰색을 빨간색으로 대체하는 방법의 예입니다(시작 노드(50, 50))): 다차원 배열에서 지정된 노드에 연결된 영역을 결정하는 알고리즘입니다.

Kommentieren ist momentan nicht möglich.

Heimleiterin:
Frau Dumke

Seeallee 3
15299 Müllrose

Tel.: 033606 / 70284
Fax: 033606 / 70285

E-Mail:
kindernester@arcor.de

» 크로스사이트 스크립트 예제
» 파이썬 쉬운 예제
» 마운트 예제
» 리눅스 opencv 예제
» 메이븐 프로젝트 예제

© 2015 by Kindernester Schlaubetal e.V. | Hosted by RB Media Group GmbH | Kontakt | Impressum