148 igi 2014 1 - assoc. prof. dr. murat...

9
24.09.2014 1 øLERø GÖRÜNTÜ øùLEME Ders-1 Temel Kavramlar Temel Kavramlar Hazırlayan: M. Kemal GÜLLÜ Hazırlayan: M. Kemal GÜLLÜ (Prof. Dr. Sarp ERTÜRK) Elektromanyetik Spektrum Görünür Bölge 700 nm 400 nm 9/24/2014 2 Sayısal ømge Gösterimi z imgesi örneklendi÷inde M satır ve N sütunluk bir sayısal imge oluúur. y x f , 9/24/2014 3 Resim elemanı (piksel) Sayısal ømge Gösterimi z Bazen sayısal imge gösterimi: , , ij a f x i y j f i j 9/24/2014 4 , ij z Sayısallaútırmda genellikle uzamsal boyutlar önemli de÷ildir. z Donanımsan açıdan asıl önemli olan, gri ton seviyesinin 2’nin kuvveti olmasıdır. > @ 2 0, 1 : imgenin dinamik aralı÷ı (dynamic range). k L L Sayısal ømge Gösterimi z Sayısal imgeyi saklamak için gerekli olan bit sayısı: b M N k u u : M N 9/24/2014 5 Sayısal ømge z Uzamsal çözünürlük: 512x512 256x256 128x128 64x64 9/24/2014 6 1024x1024

Upload: others

Post on 28-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 148 igi 2014 1 - Assoc. Prof. Dr. Murat BEKENmuratbeken.com.tr/wp-content/uploads/2018/08/Goruntu-Isleme.pdfboyut de÷iútirme-uzaklaútırma 24 Eylül 2014 17 •Matlab ile boyut

24.09.2014

1

øLERø GÖRÜNTÜ øùLEME

Ders-1

Temel KavramlarTemel Kavramlar

Hazırlayan: M. Kemal GÜLLÜHazırlayan: M. Kemal GÜLLÜ

(Prof. Dr. Sarp ERTÜRK)

Elektromanyetik SpektrumGörünür Bölge

700 nm 400 nm

9/24/2014 2

Sayısal ømge Gösterimi

z imgesi örneklendi÷inde M satır ve N sütunluk bir sayısal imge oluúur.� �yxf ,

9/24/2014 3

Resim elemanı

(piksel)

Sayısal ømge Gösterimi

z Bazen sayısal imge gösterimi:

� � � �, ,i ja f x i y j f i j

9/24/2014 4

� � � �,i j f y j f j

z Sayısallaútırmda genellikle uzamsal boyutlar önemli de÷ildir.z Donanımsan açıdan asıl önemli olan, gri ton seviyesinin 2’nin kuvveti olmasıdır.

> @2

0, 1 : imgenin dinamik aralı÷ı (dynamic range).

kLL

Sayısal ømge Gösterimi

z Sayısal imgeyi saklamak için gerekli olan bit sayısı:

b M N k u u

:M N

9/24/2014 5

Sayısal ømge

z Uzamsal çözünürlük:

512x512

256x256

128x128

64x64

9/24/2014 6

1024x1024

Page 2: 148 igi 2014 1 - Assoc. Prof. Dr. Murat BEKENmuratbeken.com.tr/wp-content/uploads/2018/08/Goruntu-Isleme.pdfboyut de÷iútirme-uzaklaútırma 24 Eylül 2014 17 •Matlab ile boyut

24.09.2014

2

Sayısal ømge

z Bit derinli÷i:

9/24/2014 7

L=8 L=7 L=6 L=5

L=4 L=3 L=2 L=1

B Ac

� �� �

, ( , )

0,..., 1 , 0,..., 1

B j i A i j

i N j M

� �

devirme

24 Eylül 2014 8

� �� �

, 1 ( , )

0,..., 1 , 0,..., 1

B i M j A i j

i N j M

� �

� �

düúeyde çevirme

24 Eylül 2014 9

• 90°, 180 °, 270 ° gibi açılarda döndürme iúlemlerini kolayca

gerçekleútirebiliriz.

• Bu açıların dıúındaki de÷erlerde ise açısal döndürme iúlemlerinin (Sin x,

Cos x de÷erlerini kullanarak) yapılması gerekmektedir.

• Bunun yerine, Matlab hazır iúlevlerinden “imrotate” kullanılabilir.

döndürme

24 Eylül 2014 10

Ir=imrotate(I,açı,yöntem);

açı: saat yönünün tersi dönülecek açı de÷eri.

yöntem: döndürme iúlemi sonrasında yeni piksel de÷erlerinin

hesaplanaca÷ı arade÷erleme yöntemi.

‘nearest’, ‘bilinear’, ‘bicubic’,

Örn;

Ir=imrotate(I,45, ‘bilinear’);

� �� �� �� �

1 2

1 2

1 2

1 2

, ( , )

0,..., 1 , 0,..., 1

, baúlangıç noktası

, pencere boyutları

B i j A n i n j

i m j m

n n

m m

� �

� �

o

o

kırpma

24 Eylül 2014 11

� �� �

� �

1 2

1 2

1 2

, ( 1, 1)

,..., , ,...,

, baúlangıç noktası

B i j A i n j n

i n N j n M

n n

� � � �

o

öteleme

24 Eylül 2014 12

� �

Page 3: 148 igi 2014 1 - Assoc. Prof. Dr. Murat BEKENmuratbeken.com.tr/wp-content/uploads/2018/08/Goruntu-Isleme.pdfboyut de÷iútirme-uzaklaútırma 24 Eylül 2014 17 •Matlab ile boyut

24.09.2014

3

Öteleme iúlemi yapan bir Matlab iúlevi yazalım:

function [B]=my_otele(A,n1,n2)

[w,h]=size(A);

B=zeros(w,h);

öteleme

24 Eylül 2014 13

( , );

for i=n1:wfor j=n2:h

B(i,j)=A(i-n1+1,j-n2+1);

endend

Burada for döngüleri yerine tek bir satır yazarak aynı iúlem yapılabilir.

?

• Yakınlaútırma, düúük piksel boyutlu bir imgenin piksel boyutunun

yazılımsal olarak arttırılmasıdır.

• Sayısal yakınlaútırma (digital zoom).

boyut de÷iútirme-yakınlaútırma

24 Eylül 2014 14

• Boyut büyültmede daha yumuúak geçiúler için:

boyut de÷iútirme-yakınlaútırma

24 Eylül 2014 15

• Hangisi daha görünür?

boyut de÷iútirme-yakınlaútırma

24 Eylül 2014 16

• Birden fazla pikselin de÷eri çeúitli matematiksel iúlemlerden geçirilerek bir

piksele atanır.

boyut de÷iútirme-uzaklaútırma

24 Eylül 2014 17

• Matlab ile boyut de÷iútirme için “imresize” adındaki iúlev

kullanılabilmektedir.

Is=imresize(I,oran,yöntem);

i i i i i b d i i 1

boyut de÷iútirme

24 Eylül 2014 18

oran : giriú imgesinin boyutunun de÷iúme oranını verir. oran>1

(büyütme), oran<1 (küçültme).

yöntem : boyut de÷iútirmede kullanılacak arade÷erleme yöntemi.

Örn;

Is=imresize(I,0.97, ‘bicubic’);

Page 4: 148 igi 2014 1 - Assoc. Prof. Dr. Murat BEKENmuratbeken.com.tr/wp-content/uploads/2018/08/Goruntu-Isleme.pdfboyut de÷iútirme-uzaklaútırma 24 Eylül 2014 17 •Matlab ile boyut

24.09.2014

4

ømge oluúturma

256

24 Eylül 2014 19

256

ømge oluúturma

z (128,128) merkezli, yarıçapı 80 piksel beyaz bir daire

24 Eylül 2014 20

ømge oluúturma

z ???

X / 255C =

A B

24 Eylül 2014 21

Ortalama ve De÷iúinti

z Bir imgenin örnek ortalaması (sample mean):

24 Eylül 2014 22

z Örnek de÷iúintisi (sample variance):

z Örnek standart sapması (sample std. dev.):

Nokta øúlemleri

� � � �, ,g x y T f x y ª º¬ ¼

• Piksellerden oluúan imge uzayına uzamsal düzlem (spatial domain) denir.

• Uzamsal düzlem iúlemleri aúa÷ıdaki gösterimle ifade edilmektedir.

iúlev

24 Eylül 2014 23

• Buradaki T iúlevi, do÷rudan (x,y) pikselini iúleyebilece÷i gibi, (x,y)

pikselinin komúuluklarını da hesaba katabilir.

Parlaklık Ayarı

� � � �� �

, ,

,

g x y T f x y

f x y b

s r b

ª º¬ ¼ �

b>0 ise parlaklık artar

b<0 ise parlaklık azalır

24 Eylül 2014 24orjinal b = -50 b = +50

Page 5: 148 igi 2014 1 - Assoc. Prof. Dr. Murat BEKENmuratbeken.com.tr/wp-content/uploads/2018/08/Goruntu-Isleme.pdfboyut de÷iútirme-uzaklaútırma 24 Eylül 2014 17 •Matlab ile boyut

24.09.2014

5

Karúıtlık (Kontrast) Ayarı

� � � �� �

, ,

,

g x y T f x y

af x y

s ar

ª º¬ ¼

a>1 ise karúıtlık artar

a<1 ise karúıtlık azalır

24 Eylül 2014 25orjinal a = 0.5 a = 2

Parlaklık+Karúıtlık Ayarı

Kısmi-do÷rusal dönüúüm

24 Eylül 2014 26

Eúikleme

T 255

255

s r

f

g

Sonuçta ikili (binary) imge oluúuyor.

24 Eylül 2014 27

T 255f

Olumsuzlama

255

255

s r

f

g

� �255

s L rL �

24 Eylül 2014 28

255f

Histogram

• Her bir gri ton seviyesinin ([0,255]) imgedeki bulunma sıklı÷ını (frekansını) gösterir.

• Yani imgedeki piksellerin da÷ılımı hakkında bilgi verir.

• ømge pekiútirmede sıkça kullanılmaktadır.

� �: . gri seviye

k k

k

h r nr k

24 Eylül 2014 29

: . gri seviyedeki toplam piksel sayısıkn k

• Histogram normalize edildi÷inde ise gri seviyelerin imge içerisindeki

bulunma olasılıklarını verir.

� � /

0,1,..., 1

k kp r n nk L

imgedeki toplam

piksel sayısıølgili seviyenini

olasılık de÷eri

Histogram

24 Eylül 2014 30

gri ton seviyesi

MATLAB imhist iúlevi

Page 6: 148 igi 2014 1 - Assoc. Prof. Dr. Murat BEKENmuratbeken.com.tr/wp-content/uploads/2018/08/Goruntu-Isleme.pdfboyut de÷iútirme-uzaklaútırma 24 Eylül 2014 17 •Matlab ile boyut

24.09.2014

6

Histogram

24 Eylül 2014 31

Piksel konum bilgisi bulunmaz!

Histogram

Karanlık imge

24 Eylül 2014 32

Parlak imge

Histogram

Karúıtlı÷ı düúük

imge

24 Eylül 2014 33

Karúıtlı÷ı yüksek

imge

Histogram Eúitleme

• Amaç: ømgedeki düúük görünürlü÷ü iyileútirmek.

• Olasılık da÷ılımına ba÷lı olarak do÷rusal olmayan dönüúüm gerçekleútirilir.

• Bu sayede, bulunma olasılı÷ı yüksek pikseller arası fazlaca açılırken, düúük

olasılıklı seviyeler birbirine daha yakın hale gelir.

� � � � � �¸̧·

¨̈§

�u�

1min Lcdfvcdfroundvcdf

24 Eylül 2014 34

� � � � � �¸̧¹

¨̈©

u�u

1

min

LcdfNM

roundvcdf

Histogram Eúitleme

• ømgenin olasılık da÷ılım fonksiyonu do÷rusallaútırılmaktadır.

24 Eylül 2014 35

Do÷rusallaútırılmıú cdf

Piksel Komúuluk øúlemleri

• Her bir piksel için yeni bir de÷er hesaplanmaktadır.

• ølgili pikselin yeni de÷eri, komúu piksellerin de÷erleri de

dikkate alınarak bulunur.

• Kullanılacak piksellerin a÷ırlıkları, yapılacak iúleme ba÷lı

24 Eylül 2014 36

Kullanılacak piksellerin a÷ırlıkları, yapılacak iúleme ba÷lı olarak de÷iúmektedir.

• Kenar bulma, gürültü giderme, imge keskinleútirme,

yumuúatma gibi iúlemlerde kullanlmaktadır.

• Hesapsal yükü, nokta iúlemlerine göre oldukça fazla

olabilmektedir.

Page 7: 148 igi 2014 1 - Assoc. Prof. Dr. Murat BEKENmuratbeken.com.tr/wp-content/uploads/2018/08/Goruntu-Isleme.pdfboyut de÷iútirme-uzaklaútırma 24 Eylül 2014 17 •Matlab ile boyut

24.09.2014

7

Evriúim (Convolution)

• øki fonksiyonun etkileúimi olarak ifade edilebilir.

� � � �*f g f g t dW W Wf

�f

�³

• ømge (iúaret) iúlemede sıkça kullanılmaktadır.

• Sistemin, giriú iúaretine etkisini vermektedir.

24 Eylül 2014 37

Evriúim (Convolution)

• Evriúimin ayrık zamanlı 2-boyutlu ifadesi:

� �

� � � �

, *

, ,

m n

i m j n

g x y k f

k i j f x i y j � �

� �¦ ¦

, evriúim çekirde÷i (convolution kernel)k

24 Eylül 2014 38

� �� �

, evriúim çekirde÷i (convolution kernel)

, giriú imgesi

, çıkıú imgesi

, , ilgili piksel konumu

2 1, 2 1 , çekirde÷in yatay ve düúey uzunlu÷u

kfg

x y

m n� �

• Evriúim çekirde÷i (kernel) genelde , evriúim maskesi (convolution mask) veya

evriúim penceresi (convolution window) olarak da adlandırılabilmektedir.

Evriúim (Convolution)

� �

� � � �

, *

, ,

m n

i m j n

g x y k f

k i j f x i y j � �

� �¦ ¦

24 Eylül 2014 39

Evriúim (Convolution)

»»»

¼

º

«««

¬

ª

���

101

202

101

*

24 Eylül 2014 40

Giriú imgesi Çıkıú imgesi

Evriúim

çekirde÷i

• MATLAB’da 2-boyutlu evriúim conv2 iúlevi ile yapılabilmektedir.

• Bunun yanında imge süzgeçlerken genellikle imfilter iúlevi kullanılmaktadır.

Evriúim (Convolution)

Evriúim iúleminde kenar bölgelerindeki taúma durumunda olası iúlemler:

• Kenar bölgelerini iúlememe,

• Kenar bölgelerini kesme,

• Kenar bölgelerinde evriúim çekirde÷ini kırpma,

• Kenar bölgelerini aynen kopyalama (imge boyutları büyür),

24 Eylül 2014 41

g y py ( g y y ),

• Kenar bölgelerini aynalayarak kopyalama (imge boyutları büyür)...

Hesapsal yük:

• boyutlu bir evriúim çekirde÷i kullanıldı÷ında bir piksel için çıkıú de÷erinin hesaplanmasında gerekli iúlem sayısı:� �,m n

� �> @ � �> @1m n çarpma m n toplamau � u �

Evriúim (Convolution)

Delta fonksiyonu

(Birim Dürtü)

0 0 0

0 1 0

0 0 0

ª º« »« »« »¬ ¼

24 Eylül 2014 42

(Birim Dürtü)0 0 0« »¬ ¼

Kaydır ve çıkart

0 0 0

0 1 0

0 0 1

ª º« »« »« »�¬ ¼

Page 8: 148 igi 2014 1 - Assoc. Prof. Dr. Murat BEKENmuratbeken.com.tr/wp-content/uploads/2018/08/Goruntu-Isleme.pdfboyut de÷iútirme-uzaklaútırma 24 Eylül 2014 17 •Matlab ile boyut

24.09.2014

8

Evriúim (Convolution)

Kenar bulma

1/ 8 1/ 8 1/ 8

1/ 8 1 1/ 8

1/ 8 1/ 8 1/ 8

� � �ª º« »� �« »« »� � �¬ ¼

24 Eylül 2014 43

1/ 8 1/ 8 1/ 8« »¬ ¼

Kenar pekiútirme

/ 8 / 8 / 8

/ 8 1 / 8

/ 8 / 8 / 8

k k kk k kk k k

� � �ª º« »� � �« »« »� � �¬ ¼

Uzamsal Frekans Kavramı

• ømgede pikseller arasındaki yumuúak geçiúler uzamsal düúük frekanslarakarúılık gelir.

24 Eylül 2014 44

• Sert geçiúler (kenarlar, nesne sınırları...) uzamsal yüksek frekanslara karúılık

gelir.

Evriúim (Convolution)-Yumuúatma

• En temel evriúim çekirde÷idir.

• ømgedeki gürültü etkilerini azaltır.

• Kenarları yumuúatır.

1 1 1

1/ 9 1 1 1

1 1 1

ª º« »u « »« »¬ ¼

1 1 1 1 1

1 1 1 1 1

1/ 25 1 1 1 1 1

1 1 1 1 1

ª º« »« »« »u« »« »« »

24 Eylül 2014 45

1 1 1 1 1

« »« »¬ ¼

Evriúim (Convolution)-Yumuúatma

• Çekirdek boyutunun yumuúatmaya etkisi:

24 Eylül 2014 46

Orjinal imge 3x3 5x5

9x9 15x15 35x35

• Süzgeçleme iúlemi, pencere içerisindeki piksellerin sıralanması temelinde

yapmaktadır.

• Do÷rusal olmayan bir süzgeçlemedir.

• Dürtü ve tuz-biber gürültülerinin giderilmesinde etkin baúarım sa÷lamaktadır.

• ømgenin kenar bölgelerini bozmaktadır.

Ortanca (Median) Süzgeç

24 Eylül 2014 47• MATLAB’da imgeye gürültü eklemek için imnoise iúlevi kullanılmaktadır.

25, 28, 29, 34, 38, 41, 45, 46, 56

Yeni piksel de÷eri

• Tuz ve biber gürültüsünün (salt and pepper noise) ortanca süzgeç ile

giderilmesi

Ortanca (Median) Süzgeç

24 Eylül 2014 48• MATLAB’da ortanca süzgeçleme için medfilt2 iúlevi kullanılmaktadır.

Gürültü

eklenmiú imge

3x3 ortalama

süzgeç ile

gürültü

giderme

3x3 ortanca

süzgeç ile

gürültü

giderme

Page 9: 148 igi 2014 1 - Assoc. Prof. Dr. Murat BEKENmuratbeken.com.tr/wp-content/uploads/2018/08/Goruntu-Isleme.pdfboyut de÷iútirme-uzaklaútırma 24 Eylül 2014 17 •Matlab ile boyut

24.09.2014

9

RGB Renk ModeliHer pikselin kırmızı, yeúil ve mavi renk bileúeni için bir de÷eri mevcuttur.

Genelde her bileúenin gösterimi için 8 bit kullanılmaktadır.

B

1blue magenta

24 Eylül 2014 49

R

G

1

1

0

cyanwhite

red

green yellow

black

RGB Modeli

“Kids” image

Red color components of the image

24 Eylül 2014 50

Kids image Red color components of the image

Green color components of the image

Blue color components of the image

HSI Modeliz H (hue): renkz S (saturation): doygunlukz I (intensity): ıúıklılık

ølk de÷er baskın renk (hue) de÷erini göstermektedir (0.0:kırmızı, 0.33 yeúil, 0.67 mavi, 1.0: kırmızı). økinci de÷er rengin doygunlu÷unu kodlamakatadır

24 Eylül 2014 51

(0.0: renksiz (gri) 1.0: canlı renk (grisiz). Son de÷er de ıúıklılı÷ı göstermektedir(0.0: siyah 1.0: aydınlık).

HSI Modeli

24 Eylül 2014 52

“Kids” image Hue components of the image

Saturation components of the image

Intensity components of the image