lec3 Contrast transformation Binarization 32

background image

Digital Image

Processing

Lecture 3:

Contrast Transformation &

Image Binarization

Profesor

Valery Starovoitov

background image

2

Rozszerzanie zakresu jasności

(Contrast stretching)

W obrazach, których zakres jasności nie zajmuje całej skali
dostępnej dla obrazu, można przez odpowiednią transformację
skorygować i równocześnie zwiększyć kontrast. Rozszerzenie
zakresu jasności omówimy jako przykład operacji liniowej
opisanej wzorem (2.4). Niech zakres jasności wykorzystywany
przez obraz zawiera się pomiędzy Jmin i Jmax. Wtedy operacja
liniowego rozszerzania jasności na cały zakres jasności [0, 255]
wyraża się wzorem:

dla J

min

< J(x, y) <J

max

(2.15)

)

)

,

(

(

255

)

,

(

min

min

max

J

y

x

J

J

J

y

x

J

w

background image

3

background image

4

Obraz po operacji wyrównywania histogramu

Obraz po operacji
liniowego rozszerzania
jasności

background image

5

Piecewise-Linear Contrast

Stretching

To increase the dynamic range of the gray

levels in the image being processed.

background image

6

Gray-Level Slicing

• To highlight a specific range of gray levels

in an image (e.g. to enhance certain
features).

One way is to display
a high value for all
gray levels in the
range of interest and
a low value for all
other gray levels
(binary image).

background image

7

Gray-Level Slicing

– The second approach is to brighten the desired

range of gray levels but preserve the
background and gray-level tonalities in the
image:

background image

8

Image Enhancement in the Spatial

Domain

background image

9

Bit-Plane Slicing

To highlight the contribution made to the total

image appearance by specific bits.

– i.e. Assuming that each pixel is represented by

8 bits, the image is composed of 8 1-bit planes.

– Plane 0 contains the least significant bit and

plane 7 contains the most significant bit.

background image

10

Bit-Plane Slicing

More on bit planes:

– Only the higher order bits (top four) contain

visually significant data. The other bit planes
contribute the more subtle details.

– Plane 7 corresponds exactly with an image

thresholded at gray level 128.

background image

11

background image

12

background image

13

Towards binarization

background image

14

Progowanie obrazu

Jednym z podstawowych zadań analizy obrazu jest segmentacja, czyli podział obrazu

na obszary spełniające pewne kryterium jednorodności. Mówiąc inaczej, pojęcie

obszaru jest używane do określenia spójnej grupy punktów obrazu mających

dodatkowo pewną wspólną cechę, która nie występuje poza najbliższym sąsiedztwem.

Jedną z najprostszych metod wydzielania obszarów jest progowanie. Polega ono na

porównywaniu wartości każdego punktu obrazu z zadaną wartością progową.

Odpowiedni wybór wartości progowej umożliwia wyodrębnienie obszarów określonego

typu. Powstało kilka wersji metody wyodrębniania obszarów przez progowanie.

Metoda najprostsza stosuje jedną wartość progu i jest realizowana według zależności

t

y

x

J

t

y

x

J

y

x

J

w

)

,

(

;

0

)

,

(

;

1

)

,

(

(2.16) gdzie t - próg
binaryzacji.

background image

15

Specjalny przypadek transformacji

.

)

,

(

,

0

)

,

(

,

)

,

(

)

,

(

t

y

x

J

t

y

x

J

y

x

J

y

x

J

w

t

y

x

J

t

y

x

J

t

t

y

x

J

y

x

J

w

2

2

1

1

)

,

(

,

0

)

,

(

,

1

)

,

(

,

0

)

,

(

Progowanie jest prostą i szybką operacją.

background image

16

Metody progowania globalnego

Wybór optymalnego progu

podczas przetwarzania

obrazów jest ważny i trudny.

Prostą metodą jest określanie

progu na podstawie

histogramu poziomów jasności

obrazu. Jeżeli histogram będzie

miał rozkład bimodalny, to jako

próg wybiera się takie miejsce,

któremu odpowiada minimum

między pikami histogramu.

Przy użyciu takiego progu treść

obrazu zostanie podzielona na

dwie klasy - obiekty

i tło (rys. 2.12).

Metody tej nie używa się do

znajdowania więcej niż dwóch

progów, nawet jeśli jest więcej

pików w histogramie.

Przykładowy histogram bimodalny

background image

17

Binarizatio
n

background image

18

background image

19

background image

20

Wyżej opisane podejście można również zrealizować

w wersji iteracyjnej. Wtedy schemat postępowania dla

rozkładu bimodalnego może być następujący:

1. Przyjmij początkową wartość progu t.

2. Oblicz średnią wartość czerni tcz wszystkich pikseli poniżej

progu t.

3. Oblicz średnią wartość bieli tb wszystkich pikseli powyżej

progu t.

4. Oblicz nową wartość progu

5. Powtarzaj obliczenia aż t przestanie się zmieniać.

2

b

cz

t

t

t

background image

21

Wyznaczanie progu na podstawie

prostej statystyki obrazu

Zakładamy, że treść analizowanego obrazu można podzielić na
dwie klasy – obiekty i tło. Do wyznaczenia progu skorzystamy z
pewnej statystyki, która nie wymaga konstruowania histogramu.
Algorytm obliczania progu składa się z następujących kroków:
Wyznaczyć moduł gradientu jasności dla każdego punktu obrazu
G(x,y) = max {|Gx(x,y)|, |Gy(x,y)|},
gdzie: Gx(x,y) = J(x+1,y) – J(x-1,y),
Gy(x,y) = J(x,y+1) – J(x,y-1).
- Obliczyć próg według wzoru





x

y

x

y

y

x

G

y

x

G

y

x

J

t

)

,

(

)

,

(

)

,

(

background image

22

Metoda Otsu

Metoda wyznacza się próg t, który dzieli piksele obrazu na dwie

klasy c0 i c1 (obiekty i tło). W dalszych rozważaniach zakładamy,

że:
obraz może mieć L poziomów jasności;
ni oznacza liczbę pikseli o poziomie jasności i, i = 0, 1,... L-1;
całkowita liczba pikseli n = no + n1 + ... nL-1;
histogram obrazu jest unormowany i może być traktowany jak

rozkład prawdopodobieństwa

n

n

p

i

i

, i = 0, 1,...L – 1,

1

1

0

L

i

i

p

;

piksele dzielimy na dwie klasy co i c1 za pomocą progu o wartości t,
gdzie co oznacza piksele o jasności (0,1,... t), zaś c1 oznacza piksele
(t+1,... L-1).

background image

23

Prawdopodobieństwo wystąpienia tych klas i ich

wartości średnie dane są wzorami:

t

i

i

p

P

0

0

= P

t

,


t

L

t

i

i

P

p

P

1

1

1

1

t

t

t

i

i

P

P

ip

/

/

0

0

0

t

t

T

L

t

i

i

P

P

ip

1

/

1

1

1

1

gdzie P

t

i

t

są odpowiednio momentami zerowego i pierwszego

rzędu dla histogramu obrazu oraz

1

0

L

i

i

T

ip

jest średnią jasnością całego
obrazu.

Można łatwo sprawdzić, że dla dowolnego t jest słuszna następująca relacja:

T

P

P

1

1

0

0

background image

24

Wariancje klas dane są wzorami:

0

2

0

0

2

0

/

)

(

P

p

i

i

t

i

1

2

1

1

1

2

1

/

)

(

P

p

i

i

L

t

i

Znalezienie optymalnego progu można dokonać na
podstawie optymalizacji jednej
z następujących (równoważnych) funkcji kryterialnych
zależnych od progu t:

2

2

W

B

2

2

W

T

2

2

T

B

2

1

0

1

0

2

1

1

2

0

0

2

)

(

)

(

)

(

P

P

P

P

T

T

B

- wariancja międzyklasowa,

2

1

1

2

0

0

2

P

P

W

- wariancja wewnątrzklasowa

,

1

0

2

2

)

(

L

i

i

T

i

T

p

n

- wariancja globalna,

przy czym

2

T

jest niezależne od wartości progu t i wyraża się wzorem

2

2

2

B

W

T

,

,

,

background image

25

Warto zwrócić uwagę, że wymaga posługiwania się

statystykami 2‑go rzędu (wariancja), podczas gdy  - 1-
go rzędu (średnie klas). Dlatego jest najprostszą
miarą zależną od t. Stąd optymalny próg t* możemy
obliczyć ze wzoru:

)

(

max

arg

1

0

*

t

t

L

t

1

0

max

arg

L

t

)

(

2

t

B

Ponieważ wariancja jest miarą rozrzutu poziomów
szarości wokół średniej, stąd duża jej wartość oznacza, że
odchylenie od średniej jest duże i piksel obrazu jakby
słabo przynależy do regionu. W związku z tym
maksymalizowanie (2.21) oznacza zwiększanie
odizolowania dwu klas w binaryzowanym obrazie.

(2.21
)

background image

26

Algorithim Otsu

background image

27

Gonzalez’ method for thresholding

(Rafael C. Gonzalez, Richard E. Woods, Steven L. Eddins,

“Digital Image Processing Using Matlab”)

function [bw, t] = threshold_gw(b);
% b bimodal image (dark on bright or bright on dark)
b=double(b);
t=0.5*(min(b(:))+max(b(:)));
told=0;
c=1;
bw(:,:,c)=(b<t);
while abs((told-t)/told)>0.01

c=c+1;
m1 = mean(b(b>t));
m2 = mean(b(b<t));
told=t;
t=0.5*(m1+m2)
bw(:,:,c)=(b<t);

end

background image

28

Problemy

background image

29

• Adaptive thresholding typically takes a grayscale

image as input and, in the simplest implementation,
outputs a binary image.

• There are two main approaches to finding the

threshold:

(i) the Chow and Kaneko approach,
(ii) local thresholding.

• The assumption behind both methods is that smaller image

regions are more likely to have approximately uniform
illumination, thus being more suitable for thresholding. Chow
and Kaneko divide an image into an array of overlapping
subimages and then find the optimum threshold for each
subimage by investigating its histogram. The threshold for each
single pixel is found by interpolating the results of the
subimages. The drawback of this method is that it is
computational expensive and, therefore, is not appropriate for
real-time applications.

Adaptive thresholding

background image

30

An alternative approach

An alternative approach to finding the local threshold is to
statistically examine the intensity values of the local
neighborhood of each pixel. The statistic which is most
appropriate depends largely on the input image. Simple and
fast functions include the mean of the local intensity
distribution,

T=mean,

the median value,

T=median,

or the mean of the minimum and maximum values,

T=(max+min)/2

The size of the neighborhood has to be large enough to cover
sufficient foreground and background pixels, otherwise a poor
threshold is chosen. On the other hand, choosing regions which
are too large can violate the assumption of approximately
uniform illumination.
This method is less computationally intensive than the Chow
and Kaneko approach and produces good results for some
applications.

background image

31

Metody progowania lokalnego

Podczas progowania lokalnego obraz
dzielony jest na podobrazy i próg
określa się dla każdego z nich
niezależnie. To powoduje, że pojawiają
się nieciągłości na granicach dwu
różnych podobrazów (rys. 2.13d).
Dlatego stosuje się różne techniki
wygładzania tych nieciągłości obrazu,
np. poprzez lokalnie liniowe
interpolowanie wartości
progów (rys. 2.13c).
Używając interpolacji skonstruowanej
na podstawie progów sąsiednich
podobrazów otrzymuje się wygładzony
obraz, jak pokazuje rys. 2.13e.

Lokalne progowanie jest formą
progowania adaptacyjnego.

Rys. 2.13

background image

32

Segmenting text from the image

global

mean of
a 7×7
neighborhood

(mean-C),
C=7,
7×7
neighborhood

(mean-C),
C=10,
75×75
neighborhood

(median-C),
7×7 and C = 4

background image

33

Zakończenie

• Wiele globalnych metod progowania można

rozszerzyć na operację wieloprogowania.

• Uogólnienie metody globalnej na

wieloprogowanie omówimy na przykładzie
metody Otsu.

• Ogólnie trzeba stwierdzić, że problem

wieloprogowania jest trudny i poszukiwania
optymalnego algorytmu ciągle trwają.


Document Outline


Wyszukiwarka

Podobne podstrony:
32 Contrast
LVCCFSB2006 32 3G E1070 E770v V3x Kingmax Transflash Card
T7 Transformacja układu odniesienia
11 BIOCHEMIA horyzontalny transfer genów
Transformacje91
5 Algorytmy wyznaczania dyskretnej transformaty Fouriera (CPS)
32 piątek
11Tor z transformatoramiid 13123 ppt
Transformacje2
20 H16 POST TRANSFUSION COMPLICATIONS KD 1st part PL
Immunologia Transfuzjologiczna1[1]
32 sobota
od 24 do 32
3 Rodzaje jednorodnych transformacji stosowanych w kinematy
Transfer sk adki US
Decline of Contrastive Analysis Pedagogy
32 pozyskujacy uczniow sluga bozy

więcej podobnych podstron