• Non ci sono risultati.

4.Elaborazione di Immagini

N/A
N/A
Protected

Academic year: 2021

Condividi "4.Elaborazione di Immagini "

Copied!
20
0
0

Testo completo

(1)

4.Elaborazione di Immagini

4.1 Individuazione delle necessità

!

4.2 Algoritmi di segmentazione dell’immagine

" #

#

(2)

$

%

& !

' "

!

!

!

( ) *

) #

&

#

)

(3)

+

#

4.2.1 Operatore Gradiente – I° ordine

* , * ,

!

=

=

y f x f G

f G

y

x

- .

/

# * ,

Livelli di grigio Gradiente Laplaciano

(a) (b)

(4)

[ G

x2

G

y2

]

1/2

f = +

∇ - 0

1 2 0

!

y

x

G

G

f = +

∇ - 2

" 3 $

4 * , # !

=

x y

G y G

x , ) tan

1

α ( - -

* 5

6 76* 6 76, *

! *

, 1

)

%

8

!

9 :

9 :

9 :

9 :

9 3

9 3

9 3

9 3

(5)

'

)

/)

# '

#

4.2.1.1 Operatore di Roberts

+) :

! ;-<= ;.2<=

( i j ) ( ) f i j

f 1 , 1 ,

45

= + + −

°

- <

( i j ) ( f i j )

f , 1 1 ,

135

= + − +

°

- >

)

$ !

− 0 1

0 1 0

1 1 0

#!

y

x

G

G

f ≈ +

- ?

8* 8,

(6)

+ !

@

5 #

1 (

A !

%

) " !

"

)

4.2.1.2 Operatore di Prewitt

+) 3 "

2*2 (

B

+ !

y per f x

per f

∂ −

1 1 1

0 0 0

1 1 1

; 1

0 1

1 0 1

1 0 1

! !"#$ !% #&&

+ )

(7)

2*2

) : 0*0

9 *

. 0

% !

/ C !

/ C !

/ C !

/ C ! p

12

+ p

22

- D

/ 1 !

/ 1 !

/ 1 !

/ 1 !

2 1 1

tan p

p - E

4.2.1.3 Operatore di Sobel

+) & ) 2*2

3 *

+ !

y per f x

per f

∂ −

1 2 1

0 0 0

1 2 1

; 1

0 1

2 0 2

1 0 1

! !"# '(!)

9

*

. 0

F !

/ C !

/ C !

/ C !

/ C ! s

12

+ s

22

- .B

/ 1 !

/ 1 !

/ 1 !

/ 1 !

2 1 1

tan s

s - ..

(8)

)

: 0*0

A

! Robert // prima maschera di Roberts

G0=img[r][c]; [1 0]

G2=img[r+1][c+1]; [0 -1]

//seconda maschera di Roberts G1=img[r][c+1] ; [0 1]

G3=img[r+1][c]; [-1 0]

// calcolo del gradiente e della fase

pixel_Gradiente = sqrt((G2-G0)^2+(G1-G3)^2);

if( pixel_Gradiente > 30 ){

pixel_Fase=atan2((G2-G0),(G1-G3));

pixel_Fase=(pixel_Fase + pi/2)*255/pi;

}

else pixel_Fase=0;

Prewitt // Maschera Verticale

pixel_mv =

(1 * img[r-1][c+1] -1 * img[r-1][c-1]

+ 1 * img[r][c+1] -1 * img[r][c-1]

+ 1 * img[r+1][c+1] -1 * img[r+1][c-1])/3;

// Maschera Orizzontale pixel_mo =

(1 * img[r-1][c+1] + 1 * img[r-1][c-1]

+ 1 * img[r-1][c] - 1 * img[r+1][c]

- 1 * img[r+1][c+1] - 1 * img[r+1][c-1])/3;

// calcolo del gradiente e della fase

pixel_Gradiente = sqrt(pixel_mv^2+pixel_mo^2);

if( pixel_Gradiente > 30 ){

pixel_Fase=atan2(pixel_mv, pixel_mo);

pixel_Fase=(pixel_Fase + pi/2)*255/pi;

}

else pixel_Fase=0;

Sobel

(9)

// Maschera Verticale pixel_mv =

(1 * img[r-1][c+1] -1 * img[r-1][c-1]

+ 2 * img[r][c+1] -2 * img[r][c-1]

+ 1 * img[r+1][c+1] -1 * img[r+1][c-1])/4;

// Maschera Orizzontale pixel_mo =

(1 * img[r-1][c+1] + 1 * img[r-1][c-1]

+ 2 * img[r-1][c] - 2 * img[r+1][c]

- 1 * img[r+1][c+1] - 1 * img[r+1][c-1])/4;

// calcolo del gradiente e della fase

pixel_Gradiente = sqrt(pixel_mv^2+pixel_mo^2);

if( pixel_Gradiente > 30){

pixel_Fase=atan2(pixel_mv,pixel_mo);

pixel_Fase=(pixel_Fase + pi/2)*255/pi;

}

else pixel_Fase = 0;

)

G G

* )

% *

)

)

B 0<<

+

H

1 I .

)

+ 0*0 2*2

) *

. *

(10)

F

# *

J J

%

* $

.DB

) 2>B

0<> )

4.2.2 Operatore Laplaciano – II° Ordine

+ + 01 f ( y x , )

!

2 2 2 2 2

y f x

f f

∂ + ∂

= ∂

- .0

A - .0

"

2*2 !

(

2 4 6 8

)

5

2

f = 4 zz + z + z + z

∇ - .2

+

(11)

+

*

− 0 1 0

1 4 1

0 1 0

* + ) +

A - . +

#

( +

2

01!

( )

2

2 2

,

2σ

y x

e y x h

− +

= - .-

σ 1

2 2

2

x y

r = + +

$ +

2 .B !

2 2

4 2 2

2 2 σ

σ

σ e

r

h = r

- .<

+ - >

2

h

#

(12)

2

h

2

h

2

h

σ σ

, - *

+ - .<

<*<

( 1

G G )

9 )

I - ? #

)

(13)

. " /

9 ) #

(14)

0 " /

#

) #

I - D

1 2 2 1

2 2

2 12 2

12

2

1 2

1

σ σ

πσ πσ

y x y

x

e e

Dog

+

+

= - .>

%

) *

$

(15)

4.2.3 - Metodi Template-Matching

2!

4.2.3.1 Operatore Tre su Nove

!

1 & 2 34 0

%

)

!

5 & 2 34 1

!

* K L . <J @ M B 222 - .?

(16)

4.2.3.2 Metodo di Kirsch Compass

+ N H

+ !

5 5 5

3 0 3

3 3 3 6

3 3 5

3 0 5

3 3 5 4

3 3 3

3 0 3

5 5 5 2

5 3 3

5 0 3

5 3 3 0

k k k k

5 5 3

5 0 3

3 3 3 7

3 5 5

3 0 5

3 3 3 5

3 3 3

3 0 5

3 5 5 3

3 3 3

5 0 3

5 5 3 1

k k k k

6

+

+

! OB

O< M

7 M & -

4.2.3.3 Metodo di Robinson Compass

+ :

N " H

B . 0

(17)

5 #

#

+ !

1 2 1

0 0 0

1 2 1 6

1 0 1

2 0 2

1 0 1 4

1 2 1

0 0 0

1 2 1 2

1 0 1

2 0 2

1 0 1 0

r r r r

2 1 0

1 0 1

0 1 2 7

0 1 2

1 0 1

2 1 0 5

2 1 0

1 0 1

0 1 2 3

0 1 2

1 0 1

2 1 0 1

r r r r

+

+

4.2.4 Metodo basato sul colore

+

%

(18)

&

#

#

:8P 3

: 8 P

#

& Q R

:8P !

delta B

B delta

B

delta G

G delta

G

delta R

R delta

R

p p

p p

p p

+

+

+

- .D

$

!

2 .<

%

%

(19)

% "

!

deltaB B

B deltaB

B

deltaG G

G deltaG

G

deltaR R

R deltaR

R

p p

p p

p p

+

+

+

- .E

$

!

S&@ " "

:8P

$ S&@

'

S & # @

#

. *

S&@

/ "

. '

%

(20)

5

.

F

Riferimenti

Documenti correlati

2 punti: risposta corretta, soluzione migliore, buona proprietà di linguaggio, esposizione chiara e leggibile.. 1,8 punti: risposta corretta, soluzione migliore con qualche

1,6 punti: risposta corretta, soluzione migliore ma senza una buona proprietà di linguaggio o senza una buona esposizione.. 1,4 punti: risposta corretta ma non la

3° Punto di vista Cambiamento del valore Nome

Sapendo che l’ammontare totale del bottino M `e divisibile per tre, descrivere un algoritmo che verifichi se `e possibile spartire gli n oggetti in parti di ugual valore e, in

[r]

[r]

Lampadario, fungaia, cartoleria, stalliere, alimentari, macelleria, furbata, gelato, colpaccio, fratellastro, sorellina, vicinato, angolino, stanchezza, postaccio,

2 Completa le frasi in modo da ottenere periodi contenenti una subordinata soggettiva9. che non tutti