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
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
Bazen sayısal imge gösterimi:, ,
a
i jf x i y j f i j
9/24/2014 4
,
i j
f y j f j
Sayısalla tırmda genellikle uzamsal boyutlar önemli de ildir.
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).
L
kL
Sayısal mge Gösterimi
Sayısal imgeyi saklamak için gerekli olan bit sayısı:
b M N k :
M N
Sayısal mge
Uzamsal çözünürlük:
512x512 256x256
128x128 64x64
1024x1024
Sayısal mge
Bit derinli i:9/24/2014 7
L=8 L=7 L=6 L=5
L=4 L=3 L=2 L=1
B A
, ( , )
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
kırpma
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
ö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);
öteleme
24 Eylül 2014 13
( , );
for i=n1:w for 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
• 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
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.
mge olu turma
256
24 Eylül 2014 19
256
mge olu turma
(128,128) merkezli, yarıçapı 80 piksel beyaz bir daire
24 Eylül 2014 20
mge olu turma
???
X / 255
C =
A B
24 Eylül 2014 21
Ortalama ve De i inti
Bir imgenin örnek ortalaması (sample mean):
24 Eylül 2014 22
Örnek de i intisi (sample variance):
Ö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
• 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
orjinal b = -50 b = +50
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 orjinal a = 0.5 a = 2 25
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 255
f
Olumsuzlama
255 255
s r
f g
255 s L r
L
24 Eylül 2014 28
255
f
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 n r k
: . gri seviyedeki toplam piksel sayısı n
kk
• Histogram normalize edildi inde ise gri seviyelerin imge içerisindeki bulunma olasılıklarını verir.
Histogram
gri ton seviyesi
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.
1
min L
cdf v round cdf v cdf
24 Eylül 2014 34
1
min
cdf L N round M v cdf
Histogram E itleme
• mgenin olasılık da ılım fonksiyonu do rusalla tırılmaktadır.
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ı 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.
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.
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 k
f g 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)
1 0 1
2 0 2
1 0 1
*
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),g y py ( g y y ),
• 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ı
Evri im (Convolution)
Delta fonksiyonu (Birim Dürtü) 0 0 0
0 1 0
0 0 0 (Birim Dürtü)
0 0 0
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 k
k k k
k k k
Uzamsal Frekans Kavramı
• mgede pikseller arasındaki yumu ak geçi ler uzamsal dü ük frekanslara kar ı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 1 1 1 1 1 1 1 1 1 1 1/ 25 1 1 1 1 1 1 1 1 1 1
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ç
• 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ç
• 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
RGB Renk Modeli
Her 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
1 blue magenta
24 Eylül 2014 49
R
G
1
1 0
cyan white
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 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
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