Sunteți pe pagina 1din 35

Prelucrarea Imaginilor II

Sept. 2013

B.N. CnLR

mbuntirea imaginilor
Scopul acestor prelucrri l constituie accentuarea (punerea
n eviden) a unor caracteristici coninute n imagine pentru
a putea fi observate mai uor
uor..
Metodele utilizate n algoritmii de mbuntire a imaginilor
amplific anumite caracteristici fr a mri cantitatea de
informaii.
informaii.
Tehnicile sunt grupate (dup algoritmii utilizai) astfel
astfel::
Operaiuni
O
i i punctuale
t l
prin
i
care se poate
t
realiza
li
creterea contrastului, reducerea zgomotului
zgomotului,, etc.
etc.
Operaiuni spaiale care permit eliminarea zgomotului,
filtrri, etc
etc..

Formulele se refar la imagini de tip 2 ([


([6
6]) - nuane de gri
gri..
Acestea se vor aplica proportional pe fiecare component
fr a depsi spatiul culorilor!

1
1. Operaiuni punctuale
Aceste operatiuni permit trecerea
de la o nuant de g
gri u [0,L]
la o alt nuant de gri v [0,L],
conform
f
uneii transformri
t
f
i v=f(u
f(u),
)
unde
f : [[0,L]] [[0,L].
]

P Cul
P.
C l=f (P.
(P Cul
C l)

a) Accentuarea contrastului
a) Reducerea contrastului
b) Reducerea zgomotului
c)) Binarizarea imaginilor
g
g) Compresia de contrast
d) Negativarea imaginilor
e) Operaiuni de tip fereastr
f) Extragerea unui bit
h) Scderea imaginilor
i) Modelarea imaginilor prin histograme

a) Accentuarea contrastului
Aceast transformare este recomandat imaginilor cu
contrast sczut (obinute de exemplu ntr
ntr--un mediu cu
iluminare slab)
slab)..

Fiind
Fii d date
d t dou
d limite
li it a sii b ( 0 < a < b < L ) pentru
t care se
cunosc valorile va=f(a)<a respectiv vb=f(b)>b transformarea
este::
este
pentru

0 u a

(u a)/(b a)*(vb va)+va


(u-a)/(b-a)*(vb-va)+va

pentru

a<u b

(u-b)/(L-b)*(L -vb)+vb

pentru

b<u L

u * va / a
f(u)=

v
L
vb

va
0

a)

Reducerea contrastului

Observaii
Observaii..

Valorile a i b se pot obine din histograma imaginii;


Parametrii va i vb precizeaz amlificarea contrastului;
Pentru va>a i vb<b se obine transformarea invers ((reducerea
reducerea
contrastului).
contrastului
).
v
Pentru o accentuare respectiv reducere
neted transformrile sunt date de
urmtoarele funcii
funcii::

L
vb
va

f1(u)=(sin(*u/L-/2)+1) /2*L
f2( ) (a csin(2 /L 1)+ /2)/ *L
f2(u)=(arcsin(2u/L-1)+/2)/*L

0
L

a)

Spatiul culorilor n sistemul RGB

Observaii
Observaii..

Modificarea pe fiecare componenta separat poate afecta componenta culorii!

Modificarea culorii trebuie sa conserve proportia initiala!


La factor unic se p
poate iesi din spatiu
p
((cub)!
)
Ex1. P(50
P(50,,100
100,,200
200)) P(25,100,225) - fs(0.50, 1.00,

1.125) => modifica

nuanta!
Ex2. P(150,150,240) P(25,100,225) - fs=v(180)/180=200/180 =>
P.B=250<256!!
P.B=250<
f B(180)/180=210/180
fs=v
(180)/180 210/180 =>
>
Magenta
P.B
P.
B=263
=263>255!!
b

v
L
vb

C(r,g,b)
Cyan

Alb
r
Negru

va
0

Yellow
G

Teme

1. Pentru imagini gri cresterea/diminuarea, contrastului liniar/neted.

2. Pentru imagini color cresterea/diminuarea, contrastului liniar/neted.

b) Reducerea zgomotului
Rz se realizeaz prin limitarea culorilor imaginii, stiind c acestea se afl n
domeniul [a,b].
[a,b]. Prin aceast metod se pot pune n evident nuante greu vizibile
vizibile..
O
Operatia
ti este
t un caz particular
ti l all celei
l i precedente
d t ( a)) ) pentru
t va = 0 sii vb
b = L.
Valorile a si b se pot determina din histograma imaginii
imaginii.. Transformarea se poate
realiza conform unuia din cele dou grafice de mai jos :
f(u) =

0 (sau o valoare minima vmin )pentru 0 u a


(u-a) / (b-a) * L
pentru a < u b
L
pentru b < u L.

v
vb=L

v
vb=L

vmin
va = 0

L u

L u

c) Binarizarea imaginilor
Aceast operatie are ca obiectiv obtinerea unei imagini alb
alb--negru dintr
dintr--o
imagine care contine si alte nuante nedorite provenite din diverse motive
tehnice (de exemplu copiere)
copiere).. Aceste zgomote aprute n imagine vor fi
eliminate prin studierea histogramei imagini.
imagini. Transformarea este un caz
particular al celei precedente ( b) ) pentru a=b = valea histogramei (vezi
graficul de mai jos)
jos)::
0 (sau o valoare minima vmin )pentru 0 u a
f(u) =

pentru a< u L.

Alb

Alb

vmin
Negru
Negru

a=b

Alb

Negru
Negru

a=b

Alb

g) Compresia de contrast
n situatia n care dinamica datelor din imagine este foarte larg este
recomandat o astfel de operatie prin care se mbuntteste vizibilitatea
punctelor de amplitudine relativ mic fat de ceilalti
ceilalti..

Operatia de compresie se realizeaz printr


printr--o transformare logaritmic de
tipul::
tipul

v = f(u) = cst * Log(


Log(1
1+|u|)

Pentru transformarea reprezentat alturat


alturat,, formula de calcul este
urmtoarea::
urmtoarea
v = f(u) = L / Ln
Ln(L+1)
(L+1) * Ln
Ln(1+u)
(1+u)
v
L

g) Compresia de contrast

Teme
3. Pentru imagini gri reducerea zgomotului si binarizare.

4. Pentru imagini color compresia de contrast.

Ex. Converting

color to grayscale

Then, add together 30


30%
% of the red value, 59
59%
% of the green
value, and 11
11%
% of the blue value (these weights depend on
the exact choice of the RGB primaries, but are typical).
typical).
The formula (11*R
11*R + 16
16*G
*G + 5*B) /32 is also popular since it
can be efficiently implemented using only integer operations
operations..

Ex. Converting
public partial class Form1 : Form
{
Bitmap Im2, Im3;
private Image loadedImage;
public Form1()
{
InitializeComponent();
Im2 = new Bitmap
Bitmap(pictureBox2.Image);
(pictureBox2.Image);
Im3 = new Bitmap
Bitmap(pictureBox3.Image);
(pictureBox3.Image);
}

color to grayscale
private void Gri_Click(
Gri Click(object
Gri_Click(object
Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
loadedImage =
Image.FromFile(openFileDialog1.FileName);
Image
.FromFile(openFileDialog1.FileName);
Bitmap Im1 = new Bitmap
Bitmap(loadedImage);
(loadedImage);
pictureBox1.Image
i
1
= Im1;
1
pictureBox1.Refresh();

Im3.SetPixel(i/3+325,j/3+150,Color.FromArgb(255,f(c.R,
Im3.SetPixel(i/3+325,j/3+150,Color
.FromArgb(255,f(c.R, p.R), G, B)));
saveFileDialog1.ShowDialog();
Im3.Save(saveFileDialog1.FileName);

P1

a) Accentuarea contrastului
d
t t l i
a) R
Reducerea
contrastului
b) Reducerea zgomotului
c) Binarizarea imaginilor
g) Compresia de contrast
d) Negativarea imaginilor
e) Operaiuni de tip fereastr
f) Extragerea
E t
unuii bit
h) Scderea imaginilor
i) Modelarea
M d l
imaginilor
i
i il prin
i
histograme

17 /21

d) Negativarea imaginilor
Aceast operaie de inversare a imaginilor se poate
utiliza n situaia n care dispunem de negativul unei
imagini (de exemplu n prelucrarea imaginilor
medicale)..
medicale)
Operaia de inversare se realizeaz prin
transformarea urmtoare
urmtoare::
vv = f(u) = L - u
L

18 /21

d) Negativarea imaginilor

Inversarea fiecarei componente (r,g,b):


( b) = (255-r, 255-g, 255-b)
(r,g,b)

19 /21

e) Operaiuni de tip fereastr


Transformrile de acest tip permit extragerea

anumitor caracteristici coninute n regiuni


reprezentate prin diferite nuane de gri
gri..
Decuparea respectiv accentuarea acestor zone
(definite prin intervalul nuanelor [a,b]
[a b] ) se poate
realiza astfel
astfel::
L

fd(u) =
.

pentru u [a,b]

fa(u) =

pentru u [a,b]

v
L

v
L

a
0

L pentru u [a,b]

L u

a
0

u pentru u [a,b]
v
L

L u

a
0

L u

20 /21

Exemple :

e) Operaiuni de tip fereastr

v
L

L u

21 /21

e) Operaiuni de tip fereastr

Exemple :

Im2 = new Bitmap(Im1);


int a = 100, b = 120;
for (int i = 0; i < Im1.Height; i++)
i )
for (int j = 0; j < Im1.Width; j++)
{
Color c = Im1.GetPixel(j, i);
int g = c.R;
if (g < a ) g = 0;
else
if (g > b ) g = 0;
Im2.SetPixel(j, i, Color.FromArgb(2*g, 2*g,
2*g));
}
pictureBox2.Image = Im2;
pictureBox2.Refresh();

22 /21

e) Operaiuni de tip fereastr


modificarea
componentelor::
componentelor

23 /21

f) Extragerea unui bit


Transformarea

se
aplic
n
determinarea
biilor
nesemnificativi din punct de vedere vizual dintr
dintr--o imagine
(d
(deoarece
putem
t
spune c
doar
d
primii
i ii ase au semnifica
ifi iie
vizual, contribuia celorlali fiind legat doar de redarea
detaliilor fine din imagine, fr a oferi informaii asupra
structurii acesteia)
acesteia)..
Operaia de extragere a bitului k corespunztoare codificrii
u = bn2n + bn-12n-1 + ... + bk2k + ... + b12 + b0
se realizeaz prin transformarea
transformarea::
fk(u) =
.

pentru bk =1

rest
24 /21

f) Extragerea unor biti


bit
Setarea bitilor
bitilor::

25 /21

h) Scderea imaginilor
Operaia de scdere a dou imagini este necesar la
compararea acestora dac deosebirile dintre ele sunt relativ
mici
i i fa
f de
d complexitatea
l it t imaginilor
iimaginilor.
i il .
Prin scderea celor dou imagini se pun n eviden
diferenele dintre cele dou imagini
imagini..

=
26 /21

h) Scderea imaginilor
Diferenta / compararea

Click

27 /21

Diferenta / compararea

h) Scderea imaginilor

Click
28 /21

i) Modelarea imaginilor prin histograme


Prin histogram nelegem reprezentarea grafic a frecvenei de apariie a
culorilor (nuanelor de ggri
gri)) coninute ntr
ntr--o imagine
imagine.
g . Prin aceast
metod (modelarea histogramei)
histogramei) se obine o imagine cu o
histogram dorit
dorit.. O imagine cu contrast sczut (cu o histogram
ngust)) se poate transforma printr
ngust
printr--un procedeu de egalizare a histogramei
ntr--o imagine cu o histogram uniform
ntr
uniform..
Notm
Notm::
cu t(u) numrul de pixeli de culoare u (frecvena nuanei u, u{0,1,...
...,L}),
,L}),
cu T numrul total de pixeli din imagine ( T = t(
t(0
0) + t(
t(1
1) + ... + t(L) ),

Probabilitatea ca un punct s fie de nuan u este


este::
p(u) = ( t(0) + t(1) + ... + t(u) ) / T
Se
S observ
b
c 0p(u)
p(u)1
( )1
) 1, deci
d i transformarea
t
f
este
t v = f(u)
f( ) = p(u)
( )*L
29 /21

i) Modelarea imaginilor prin histograme


n exemplul de mai jos se poate vedea

histograma iniial a), graficul transformrii b)


i histograma egalizat obinut c) rezultate din
d l din
datele
di tabelul
b l l alturat
l
pentru L=
L 100.
L=100
100.
Modificarea histogramei se realizeaz de fapt i
prin compresia de contrast prezentat anterior
g)) ii de
d asemenea se maii poate realiza
li prin
i alte
l
transformri definite n intervalul [0,L] cu
valori n acelai interval, de exemplu
exemplu::
f( ) = Sqrt
f(u)
S (u)
Sqrt(u)
( ) * Sqrt
S (L) .
Sqrt(L)
t (u

t (v

Lu

Lu

t(u)

p(u)

p(u)*L f(u)

0.00

0.00

10

30

0.07

7.32

20

60

0.22

21.95

22

30

90

0.44

43.90

44

40

100

0.68

68.29

68

50

70

0.85

85.37

85

60

30

0.93

92.68

93

70

20

0.98

97.56

98

80

10

1.00

100.00

100

90

1.00

100.00

100

100

1.00

100.00

100

Lv
30 /21

i) Modelarea imaginilor prin histograme

31 /21

Grayscale
C l R,G,B
Color

32 /21

Grayscale
Color Gray (R,G,B)

33 /21

Grayscale
Coeficientii reprezint
perceptia uman a
culorilor.

g1 :

g2 :

Oamenii sunt mai


sensibili la verde si mai
putin sensibili la albastru
albastru..
g1 = 0.299 * R + 0.587 * G + 0.114 *
B
g2 = 0.2126 * R + 0.7152 * G + 0.0722 * B

34 /21

Teme
Aplicati Operaiuni punctuale pentru
pentru::

d) Negativarea
N
ti
iimaginilor
i il
e) Operaiuni de tip fereastr
f) Extragerea unui bit
h) Scderea imaginilor
i) Modelarea imaginilor prin histograme
35 /21

S-ar putea să vă placă și