Filtry biometryczne C

Temat: Zastosowanie filtrów do obrazu biometrycznego dłoni.

ORGINALNY OBRAZ

1. Kwantyzacja - Quantize

path = 'd:/raczka.bmp';

path1 = 'd:/reka1.bmp';

function quantize()

R=imread(path);

G=rgb2gray(R);

G=im2double(G);

[r,c]=size(G);

for i=1:r

for j=1:c

D(i,j)=G(i,j)/(2^α);

end

end

imshow(D);

imwrite(D, path1);

endfunction;

quantize();

Wartość α Obraz po zastosowaniu filtru Komentarz
α = 3 Przyjęta początkowa wartość.
α = 10 Wraz ze wzrostem wykładnika obraz staje się ciemniejszy.
α = 0.5 Wraz ze zmniejszeniem wykładnika obraz staje się jaśniejszy.

2. Brightness - Jasność

path = 'd:/raczka.bmp';

path1 = 'd:/reka1.bmp';

function bright()

R=imread(path);

G=rgb2gray(R);

G=im2double(G);

[r,c]=size(G);

for i= 1 : r

for j= 1 : c

D1(i,j)=-1* G(i,j) + α;

D2(i,j)=G(i,j) + β;

end

end

imshow(D1);

imshow(D2);

imwrite(D1, path1);

endfunction;

bright();

Obraz D1 Obraz D2 Komentarz

α = 1

β = -0.5

Przyjęte wartości początkowe.

α = 1.5

β = 0.4

Wraz e wzrostem parametrów obrazy D1 i D2 stają się jaśniejsze.

α = 0.6

β = -2

Wraz ze zmniejszaniem parametrów, obrazy D1 i D2 stają się ciemniejsze

3. Histogram

path = 'd:/raczka.bmp';

path1 = 'd:/reka1.bmp';

function histogram()

R=imread(path);

G=rgb2gray(R);

G=im2double(G)*α;

[r,c]=size(G);

N=zeros(1,256);

for i=1:r

for j=1:c

k=ceil(G(i,j)+1);

N(k)=N(k)+1;

end

end

for i=1:r

for j=1:c

I=0;

for k=1:G(i,j)

I=I+N(ceil(k));

end

D(i,j)=I;

end

end

imshow(D);

imwrite(D, path1);

endfunction;

histogram();

Wartość α Obraz po zastosowaniu filtru Komentarz
α = 4 Przyjęta wartość początkowa.
α = 1 Wraz ze zmniejszaniem wartości obraz staje się ciemniejszy.
α = 7 Wraz ze zwiększaniem wartości obraz staje się jaśniejszy.

4 Gamma Correction – Współczynnik korekcji gama

path = 'd:/raczka.bmp';

path1 = 'd:/reka1.bmp';

function gamma()

R=imread(path);

G=rgb2gray(R);

G=im2double(G);

[r,c]=size(G);

for i= 1 :r

for j=1 : c

D1(i,j)=G(i,j)^( α);

D2(i,j)=G(i,j)^( β);

D3(i,j)= 1/(1+exp(5*G(i,j)+ χ));

end

end

imshow(D1);

//imshow(D2);

//imshow(D3);

imwrite(D1, path1);

endfunction;

gamma();

Obraz D1 Obraz D2 Obraz D3 Komentarz

α = 0.5

β = 6

χ = -1

Wartości początkowe.

α = 0.1

β = 0.5

χ = -2

Wraz ze zmniejszeniem wartości obraz staje się jaśniejszy.

α = 1.1

β = 20

χ = 0.1

Wraz ze zwiększaniem wartości obraz staje się ciemniejszy.

5. Convolution - slot

path = 'd:/raczka.bmp';

path1 = 'd:/reka1.bmp';

function blur()

f=imread(path);

f=rgb2gray(f);

f=im2double(f);

[r,c]=size(f);

for i=1:r

for j=1:c

ip=i+1;

im=i-1;

jm=j-1;

jp=j+1;

if(im<1)

im=i;

elseif (ip>r)

ip=i;

end

if(jm<1)

jm=j;

elseif (jp>c)

jp=j;

end

M(i,j)=f(i,j)* α + 0.1250*(f(i,jm)+ f(i,jp)+ f(ip,j)+ f(im,j)) + .0625 *(f(im,jm) +f(ip,jm)+f(ip,jp)+f(im,jp));

end

end

imshow(M);

imwrite(M, path1);

endfunction;

blur();

Wartości parametru α Obraz po zastosowaniu filtru Komentarz
α = 0.25 Wartość początkowa.
α = 0.15 Wraz ze zmniejszeniem wartości obraz staje się mniej ostry i ciemniejszy.
α = 0.5 Wraz ze zwiększaniem wartości obraz staje się ostrzejszy i jaśniejszy.

6. Derivative Filter (Sobel)

path = 'd:/raczka.bmp';

path1 = 'd:/reka1.bmp';

function sobel()

R=imread(path);

G=rgb2gray(R);

G=im2double(G);

[r,c]=size(G);

for i=1:r

for j=1:c

ip=i+1;

im=i-1;

jm=j-1;

jp=j+1;

if(im<1)

im=i;

elseif (ip>r)

ip=i;

end

if(jm<1)

jm=j;

elseif (jp>c)

jp=j;

end

Gx(i,j)=(G(im,jm) + 2*G(im,j) + G(im,jp))-(G(ip,jm) + 2*G(ip,j) + G(ip,jp));

Gy(i,j)=(G(im,jm) + 2*G(i,jm) + G(ip,jm))-(G(im,jp) + 2*G(i,jp) + G(ip,jp));

end

end

for i=1:r

for j=1 :c

GXY(i,j)=sqrt(Gx(i,j)^ α + Gy(i,j)^ β);

end

end

imshow(GXY);

imwrite(GXY, path1);

endfunction;

sobel();

Wartości parametrówα, β Obraz GXY Komentarz

α = 2

β = 4

Wartości początkowe.

α = 2

β = 2

Wraz ze zmniejszeniem wartości obraz staje się mniej dokładny.

α = 4

β = 2

Wraz ze zwiększeniem parametru alfa daje podobny efekt jak w przypadku zwiększenia parametru beta.

α = 4

β = 4

Wraz ze zwiększeniem wartości obraz staje się dokładniejszy. ( najlepszy efekt )

7. Dithering - rozproszenie

path = 'd:/raczka.bmp';

path1 = 'd:/reka1.bmp';

function dithering()

R=imread(path);

G=rgb2gray(R);

pixel=im2double(G);

[r,c]=size(G);

for i=1:r

for j=1:c

ip=i+1;

im=i-1;

jm=j-1;

jp=j+1;

if(im<1)

im=i;

elseif (ip>r)

ip=i;

end

if(jm<1)

jm=j;

elseif (jp>c)

jp=j;

end

oldpixel(i,j) = pixel(i,j);

newpixel(i,j) = (oldpixel(i,j)+128)/256;

pixel(i,j) = newpixel(i,j);

quanterror = oldpixel(i,j) - newpixel(i,j);

pixel(ip,j) = pixel(ip,j) + α/16 * quanterror;

pixel(im,jp)= pixel(im,jp) + α/16 * quanterror;

pixel(i,jp)= pixel(i,jp)+ α/16 * quanterror;

pixel(ip,jp)= pixel(ip,jp)+ α/16 * quanterror;

end

end

imshow(pixel);

imwrite(pixel, path1);

endfunction;

dithering();

Wartości parametru α Obraz pixel Komentarz
α = 5 Wartości początkowe.
α = 3 Wraz ze zmniejszaniem wartości obraz staje się dokładniejszy.
α = 7 Wraz ze zwiększeniem wartości obraz staje się bardziej rozproszony.

Wyszukiwarka

Podobne podstrony:
FILTRY UV 2
filtry aktywne(1)
karta przekazania odpadu WZÓR, Ochrona środowiska, ekologia przemyslowa, GR 7 c, Filtry olejowe 16
filtry pasywnead
filtry pasywne
Prostowniki i filtry
KARTA EWIDENCJI ODPADU ODPADU, Ochrona środowiska, ekologia przemyslowa, GR 7 c, Filtry olejowe 16 0
Cw 11 Filtry aktywne
Cw 11 Filtry aktywne
Filtry sprawko z
Elektronika laboratorium 9 Filtry pasywne
Filtry
Opis techniczny z obliczeniami filtry poziome
Fwd filtry goolman strong Dok1
filtry aktywne
filtry analog
Filtry LC
Filtry przeciwzakloceniowe 01, Elektrotechnika-materiały do szkoły, Zakłócenia w układach elektroene

więcej podobnych podstron