Page 40 - MATINF Nr. 9-10
P. 40
40 D.A. Popescu, D. Constantin
Figura 2. Imaginea rezultat˘ dup˘a operat , ia de umplere
a
2 Algoritmul fill pentru umplerea unui contur ˆınchis
ˆ
In prezentarea algoritmului fill vom porni de la urm˘atoarea problem˘a:
Se d˘a un tablou bidimensional cu m linii, n coloane s , i elemente din mult , imea {0, 1} ce
codific˘a o imagine cu un contur ˆınchis. Un pixel din imagine corespunde unui element din
a
a
tabloul bidimensional. Pentru a avea o imagine cˆat mai simpl˘ vom considera doar dou˘ culori:
alb codificat cu 0 s , i negru codificat cu 1. Cunoscˆand coordonatele unui pixel din interiorul
conturului umplet , i tot conturul cu 1. Doi pixeli sunt vecini pe contur dac˘a sunt unul sub
altul sau, unul lˆang˘a altul, sau vecini pe diagonal˘a. Tabloul bidimensional este dat ˆın fis , ierul
fill.in, pe prima linie dimensiunile, iar pe liniile urm˘atoare elementele sale. Linia s , i coloana
pixelului din interiorul conturului sunt date pe ultima linie a fis , ierului fill.in. Dup˘ umplerea
a
conturului tabloul obt , inut se va scrie ˆın fis , ierul fill.out.
Exemplu
fill.in
6 8
0 1 0 1 0 0 0 0
0 1 0 0 1 0 0 0
0 0 1 0 0 1 1 0
0 0 1 0 0 0 1 0
0 0 1 1 1 1 1 0
0 0 0 0 0 0 0 0
4 5
fill.out
0 1 1 1 0 0 0 0
0 1 1 1 1 0 0 0
0 0 1 1 1 1 1 0
0 0 1 1 1 1 1 0
0 0 1 1 1 1 1 0
0 0 0 0 0 0 0 0
Descrierea algoritmului