Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 52

devirme

B  A
B  j , i   A(i, j )
 i  0,..., N  1 , j  0,..., M  1

16 Ocak 2018 1
düşeyde çevirme

B  i, M  j  1  A(i, j )
 i  0,..., N  1 , j  0,..., M  1

16 Ocak 2018 2
döndürme
• 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.

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’);
16 Ocak 2018 3
kırpma
B  i, j   A(n1  i, n2  j )
 i  0,..., m1  1 , j  0,..., m2  1
 n1 , n2   başlangıç noktası
 m1 , m2   pencere boyutları

16 Ocak 2018 4
öteleme

B  i, j   A(i  n1  1, j  n2  1)
 i  n1 ,..., N , j  n2 ,..., M 
 n1 , n2   başlangıç noktası

16 Ocak 2018 5
öteleme
Ö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);

for i=n1:w
for j=n2:h

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

end
end
Burada for döngüleri yerine tek bir satır yazarak aynı işlem yapılabilir.
16 Ocak 2018 6
?
boyut değiştirme-yakınlaştırma

• 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).

16 Ocak 2018 7
boyut değiştirme-yakınlaştırma

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

16 Ocak 2018 8
boyut değiştirme-yakınlaştırma
• Hangisi daha görünür?

16 Ocak 2018 9
boyut değiştirme-uzaklaştırma

• Birden fazla pikselin değeri çeşitli matematiksel işlemlerden geçirilerek bir


piksele atanır.

16 Ocak 2018 10
boyut değiştirme
• Matlab ile boyut değiştirme için “imresize” adındaki işlev
kullanılabilmektedir.

Is=imresize(I,oran,yöntem);
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’);

16 Ocak 2018 11
İmge oluşturma

256

256

16 Ocak 2018 12
İmge oluşturma
 (128,128) merkezli, yarıçapı 80 piksel beyaz
bir daire

16 Ocak 2018 13
İmge oluşturma
 ??? A B

C= X / 255

16 Ocak 2018 14
Ortalama ve Değişinti
 Bir imgenin örnek ortalaması (sample mean):

 Örnek değişintisi (sample variance):

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

16 Ocak 2018 15
Nokta İşlemleri

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


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

g  x, y   T  f  x, y  

işlev

• Buradaki T işlevi, doğrudan (x,y) pikselini işleyebileceği gibi, (x,y)


pikselinin komşuluklarını da hesaba katabilir.

16 Ocak 2018 16
Parlaklık Ayarı

g  x, y   T  f  x, y  
 f  x, y   b b>0 ise parlaklık artar
b<0 ise parlaklık azalır

s  r b

orjinal b = -50 b = +50


16 Ocak 2018 17
Karşıtlık (Kontrast) Ayarı

g  x, y   T  f  x, y  
 af  x, y  a>1 ise karşıtlık artar
a<1 ise karşıtlık azalır

s  ar

orjinal a = 0.5 a=2


16 Ocak 2018 18
Parlaklık+Karşıtlık Ayarı

Kısmi-doğrusal dönüşüm

16 Ocak 2018 19
Eşikleme
g
255
sr
Sonuçta ikili (binary) imge oluşuyor.

T 255
f

16 Ocak 2018 20
Olumsuzlama
g
255
sr

s  Lr
 L  255
255
f

16 Ocak 2018 21
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.

h  rk   nk
rk : k . gri seviye
nk : k . gri seviyedeki toplam piksel sayısı

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


bulunma olasılıklarını verir.
imgedeki toplam
İlgili seviyenini piksel sayısı
olasılık değeri p  k k
r  n / n
k  0,1,..., L  1

16 Ocak 2018 22
Histogram

gri ton seviyesi

MATLAB imhist işlevi

16 Ocak 2018 23
Histogram

Piksel konum bilgisi bulunmaz!

16 Ocak 2018 24
Histogram

Karanlık imge

Parlak imge

16 Ocak 2018 25
Histogram

Karşıtlığı düşük
imge

Karşıtlığı yüksek
imge

16 Ocak 2018 26
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.

 cdf v   cdf min 


cdf v   round   L  1
 M  N   cdf min 

16 Ocak 2018 27
Histogram Eşitleme

• İmgenin olasılık dağılım fonksiyonu doğrusallaştırılmaktadır.

Doğrusallaştırılmış
cdf

16 Ocak 2018 28
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ı
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.

16 Ocak 2018 29
Evrişim (Convolution)

• İki fonksiyonun etkileşimi olarak ifade edilebilir.


f *g   f  g t    d


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


• Sistemin, giriş işaretine etkisini vermektedir.

16 Ocak 2018 30
Evrişim (Convolution)

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

g  x, y   k * f
m n
   k  i, j  f  x  i , y  j 
i  m j  n

k , evrişim çekirdeği (convolution kernel)


f , giriş imgesi
g , çıkış imgesi
 x, y  , ilgili piksel konumu
 2m  1, 2n  1 , çekirdeğin yatay ve düşey uzunluğu
• Evrişim çekirdeği (kernel) genelde , evrişim maskesi (convolution mask) veya
evrişim penceresi (convolution window) olarak da adlandırılabilmektedir.
16 Ocak 2018 31
Evrişim (Convolution)

g  x, y   k * f
m n
   k  i, j  f  x  i , y  j 
i  m j  n

16 Ocak 2018 32
Evrişim (Convolution)

1 0  1
* 2 0  2
1 0  1

Evrişim
Giriş imgesi çekirdeği Çıkış imgesi

• 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.
16 Ocak 2018 33
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),
• Kenar bölgelerini aynalayarak kopyalama (imge boyutları büyür)...

Hesapsal yük:
•  m, n  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 çarpma   m  n 1 toplama

16 Ocak 2018 34
Evrişim (Convolution)

0 0 0 
0 1 0 
  Delta fonksiyonu
0 0 0  (Birim Dürtü)

0 0 0 
0 1 0 
  Kaydır ve çıkart
0 0 1

16 Ocak 2018 35
Evrişim (Convolution)

 1/ 8 1/ 8 1/ 8


 1/ 8 1 1/ 8 
  Kenar bulma
 1/ 8 1/ 8 1/ 8

  k / 8  k / 8  k / 8
  k / 8 k  1  k / 8
  Kenar pekiştirme
 k / 8 k / 8 k / 8

16 Ocak 2018 36
Uzamsal Frekans Kavramı

• İmgede pikseller arasındaki yumuşak geçişler uzamsal düşük frekanslara


karşılık gelir.

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


gelir.

16 Ocak 2018 37
Evrişim (Convolution)-Yumuşatma

1 1 1
• En temel evrişim çekirdeğidir. 1/ 9  1 1 1
• İmgedeki gürültü etkilerini azaltır. 1 1 1

• Kenarları yumuşatır. 1 1 1 1 1
1 1 1 1 1

1/ 25  1 1 1 1 1
 
1 1 1 1 1
1 1 1 1 1

16 Ocak 2018 38
Evrişim (Convolution)-Yumuşatma

• Çekirdek boyutunun yumuşatmaya etkisi:

Orjinal imge 3x3 5x5

9x9 15x15 35x35


16 Ocak 2018 39
Ortanca (Median) Süzgeç

• 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.

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

Yeni piksel değeri

• MATLAB’da imgeye gürültü eklemek için imnoise işlevi kullanılmaktadır.


16 Ocak 2018 40
Ortanca (Median) Süzgeç

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

Gürültü 3x3 ortalama 3x3 ortanca


eklenmiş imge süzgeç ile süzgeç ile
gürültü gürültü
giderme giderme

• MATLAB’da ortanca süzgeçleme için medfilt2 işlevi kullanılmaktadır.


16 Ocak 2018 41
RGB Renk Modeli
Her pikselin kırmızı, yeşil ve mavi
renk bileşeni için bir değeri mevcuttur.
B
Genelde her bileşenin gösterimi için
8 bit kullanılmaktadır.
1 blue magenta

cyan white

0 1
R
black red

1
green yellow
G

16 Ocak 2018 42
RGB Modeli

“Kids” image Red color components of the image

Green color components of the image Blue color components of the image

16 Ocak 2018 43
HSI Modeli
 H (hue): renk
 S (saturation): doygunluk
 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
(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).

16 Ocak 2018 44
HSI Modeli

“Kids” image Hue components of the image

Saturation components of the image Intensity components of the image

16 Ocak 2018 45
Renkli Görüntülerin
kodlanması
 Çoğunlukla renkli görüntüler RGB formatındadır.
 JPEG gibi sıkıştırma amaçlı programlar çoğunlukla
RGB görüntüleri Işıklılık (Luminance)- renklilik
(chrominance) uzayına çevirmektedir. (Genelde Y-Cr-
Cb uzayı olarak adlandırılmaktadır)

JPEG: Y  0.3R  0.6G  0.1B


Cr  0.5  (R  Y ) / 2
Cb  0.5  (B  Y ) /1.6
16 Ocak 2018 46
Renkli görüntülerin
kodlanması
 İnsan gözü Cr ve Cb renklilik kanallarının yüksek
frekanslarına karşı oldukça duyarsızdır.
 Bu nedenle renklilik kanalları her iki düzlemde (yatay ve
düşey) 2 faktöründe altörneklenmektedir (subsample).

16 Ocak 2018 47
JPEG’in renkli görüntüleri kodlaması

Non-Interleaved sıralama:
Y1, Y2, Y3,…,Y16
Cr1,Cr2,Cr3,Cr4
Cb1,Cb2,Cb3,Cb4

Interleaved sıralama:
Y1, Y2, Y3,Y4,Cr1,Cb1,Y5,Y6,Y7,Y8,Cr2,Cb2,…

16 Ocak 2018 48
İTU-R BT.601 dijital TV standardı
13.5 MHz örnekleme frekansı,
720 örnek/satır (525 satır/60 Hz & 625 satır/50Hz)

Luminance (Işıklılık, Y) = 0.3 R + 0.59 G + 0.11 B (8 bit)


Renk Farkları:
(B-Y) = -0.3 R - 0.59 G + 0.89 B
(R-Y) = 0.7 R - 0.59 G - 0.11 B
Chrominance:
Cb=0.56(B-Y)= - 0.17 R - 0.33 G + 0.5 B (8 bit)
Cr=0.71(R-Y)= 0.5 R - 0.42 G - 0.08 B (8 bit)

16 Ocak 2018 49
4:2:2 sistemleri
 (D-1, D-5, DigiBeta, BetaSX, Digital-S, DVCPRO
50)

Her satır için:


 720 Y

 360 Cb& Cr

16 Ocak 2018 50
4:1:1 sistemleri
 (NTSC DV & DVCAM, DVCPRO )

Her satır için:


 720 Y

 180 Cb.& Cr

16 Ocak 2018 51
4:2:0 sistemleri
 (PAL DV, DVD, MPEG-2 ana-profili)

Her satır için:


 720 Y

 360 Cb veya Cr

16 Ocak 2018 52

You might also like