Transcript sunum-1p2

devirme
B  A
B  j , i   A(i, j )
 i  0,..., N  1 , j  0,..., M  1
13 Nisan 2015
1
düşeyde çevirme
B  i, M  j  1  A(i, j )
 i  0,..., N  1 , j  0,..., M  1
13 Nisan 2015
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’);
13 Nisan 2015
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ı
13 Nisan 2015
4
öteleme
B  i, j   A(i  n1  1, j  n2  1)
 i  n1 ,..., N , j  n2 ,..., M 
 n1 , n2   başlangıç noktası
13 Nisan 2015
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.
13 Nisan 2015
?
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).
13 Nisan 2015
7
boyut değiştirme-yakınlaştırma
• Boyut büyültmede daha yumuşak geçişler için:
13 Nisan 2015
8
boyut değiştirme-yakınlaştırma
• Hangisi daha görünür?
13 Nisan 2015
9
boyut değiştirme-uzaklaştırma
• Birden fazla pikselin değeri çeşitli matematiksel işlemlerden geçirilerek bir
piksele atanır.
13 Nisan 2015
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’);
13 Nisan 2015
11
İmge oluşturma
256
256
13 Nisan 2015
12
İmge oluşturma

(128,128) merkezli, yarıçapı 80 piksel beyaz
bir daire
13 Nisan 2015
13
İmge oluşturma

???
A
C=
13 Nisan 2015
B
X
/ 255
14
Ortalama ve Değişinti

Bir imgenin örnek ortalaması (sample mean):

Örnek değişintisi (sample variance):

Örnek standart sapması (sample std. dev.):
13 Nisan 2015
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.
13 Nisan 2015
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
13 Nisan 2015
orjinal
b = -50
b = +50
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
13 Nisan 2015
orjinal
a = 0.5
a=2
18
Parlaklık+Karşıtlık Ayarı
Kısmi-doğrusal dönüşüm
13 Nisan 2015
19
Eşikleme
g
255
sr
Sonuçta ikili (binary) imge oluşuyor.
T
13 Nisan 2015
255
f
20
Olumsuzlama
g
255
sr
s  Lr
 L  255
255
13 Nisan 2015
f
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
piksel sayısı
İlgili seviyenini
p
r

n
/
n
k
k
olasılık değeri
 
k  0,1,..., L  1
13 Nisan 2015
22
Histogram
gri ton seviyesi
MATLAB imhist işlevi
13 Nisan 2015
23
Histogram
Piksel konum bilgisi bulunmaz!
13 Nisan 2015
24
Histogram
Karanlık imge
Parlak imge
13 Nisan 2015
25
Histogram
Karşıtlığı düşük
imge
Karşıtlığı yüksek
imge
13 Nisan 2015
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   cdfmin

cdf v   round
 L  1
 M  N   cdfmin

13 Nisan 2015
27
Histogram Eşitleme
• İmgenin olasılık dağılım fonksiyonu doğrusallaştırılmaktadır.
Doğrusallaştırılmış
cdf
13 Nisan 2015
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.
13 Nisan 2015
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.
13 Nisan 2015
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.
13 Nisan 2015
31
Evrişim (Convolution)
g  x, y   k * f

m
n
  k  i, j  f  x  i, y  j 
i  m j  n
13 Nisan 2015
32
Evrişim (Convolution)
1 0  1 
*  2 0  2
1 0  1 
Giriş imgesi
Evrişim
ç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.
13 Nisan 2015
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
13 Nisan 2015
34
Evrişim (Convolution)
13 Nisan 2015
0 0 0
0 1 0 


 0 0 0 
Delta fonksiyonu
0 0 0 
0 1 0 


 0 0 1
Kaydır ve çıkart
(Birim Dürtü)
35
Evrişim (Convolution)
 1/ 8 1/ 8 1/ 8 
 1/ 8

1

1/
8


 1/ 8 1/ 8 1/ 8 
Kenar bulma
 k / 8 k / 8 k / 8
 k / 8 k  1  k / 8


  k / 8  k / 8  k / 8 
Kenar pekiştirme
13 Nisan 2015
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.
13 Nisan 2015
37
Evrişim (Convolution)-Yumuşatma
• En temel evrişim çekirdeğidir.
• İmgedeki gürültü etkilerini azaltır.
• Kenarları yumuşatır.
13 Nisan 2015
1 1 1
1/ 9  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

1 1 1 1
1 1 1 1
38
Evrişim (Convolution)-Yumuşatma
• Çekirdek boyutunun yumuşatmaya etkisi:
Orjinal imge
13 Nisan 2015
9x9
3x3
15x15
5x5
35x35
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.
13 Nisan 2015
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ü
eklenmiş imge
3x3 ortalama
süzgeç ile
gürültü
giderme
3x3 ortanca
süzgeç ile
gürültü
giderme
• MATLAB’da ortanca süzgeçleme için medfilt2 işlevi kullanılmaktadır.
13 Nisan 2015
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
white
cyan
1
0
black
R
red
1
green
yellow
G
13 Nisan 2015
42
RGB Modeli
13 Nisan 2015
“Kids” image
Red color components of the image
Green color components of the image
Blue color components of the image
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).
13 Nisan 2015
44
HSI Modeli
13 Nisan 2015
“Kids” image
Hue components of the image
Saturation components of the image
Intensity components of the image
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-CrCb 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
13 Nisan 2015
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).
13 Nisan 2015
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,…
13 Nisan 2015
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)
13 Nisan 2015
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
13 Nisan 2015
50
4:1:1 sistemleri

(NTSC DV & DVCAM, DVCPRO )
Her satır için:
 720 Y
 180 Cb.& Cr
13 Nisan 2015
51
4:2:0 sistemleri

(PAL DV, DVD, MPEG-2 ana-profili)
Her satır için:
 720 Y
 360 Cb veya Cr
13 Nisan 2015
52