matlab’damatlab’datemel Đşlemler ve temel Đşlemler ve temel...

44
MatLab’da MatLab’da Temel Đşlemler ve Temel Đşlemler ve Temel Đmge Đşleme Komutları Temel Đmge Đşleme Komutları

Upload: others

Post on 23-Jan-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

MatLab’daMatLab’da Temel Đşlemler ve Temel Đşlemler ve

Temel Đmge Đşleme KomutlarıTemel Đmge Đşleme Komutları

Page 2: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Vektörler & MatrislerVektörler & Matrisler

2 kısımda incelemek mümkündür:

� Vektör indeksleme (Vector Indexing)� Vektör indeksleme (Vector Indexing)� Matris indeksleme (Matrix Indexing)

Page 3: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Vektör Vektör IndekslemeIndeksleme

Daha öncede bahsedildiği gibi 1 x N boyutlarındakidizi satır vektörüdür.

Page 4: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Transpoz operatörü yardımıyla satır vektörü sütun vektörü haline getirilebilir.

Page 5: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

v satır vektörünün farklı elemanlarına erişimerişim

Page 6: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

v satır vektörünün farklı elemanlarına erişimerişim

Vektör indeksleme

Page 7: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Matris ĐndekslemeMatris Đndeksleme

Hatırlanacağı gibi Matlab ortamındaki matris yapısı aşağıdaki gibi idi:

Page 8: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

A matrisine farklı erişim şekilleri

Matris indeksleme

Page 9: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı
Page 10: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

A([a b],[c d]) şeklindeki biryazım matris üzerindesırasıyla;

(a,c),(a,d)(b,c),(b,d)

elemanlarını seçer.

Page 11: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Sayısal GörüntüSayısal Görüntü

Sayısal bir görüntü f(x,y) şeklinde tanımlanmaktadır.

y= f(x,y)y= f(x,y)

Yukarıdaki ifade de x,y görüntü üzerindekikonumsal koordinatlar (spatial coordinates) ve ffonksiyonunun değeri ise parlaklık değeri(intensity, gray scale) olarak isimlendirilmektedir.

Page 12: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

(x,y) değerleri ve f fonksiyonun değerlerinin tümüsonlu olduğunda ise eldeki görüntü “sayısal görüntü”olarak isimlendirilmektedir.

y= f(x,y)

olarak isimlendirilmektedir.

Page 13: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Sayısal Görüntü ĐşlemleriSayısal Görüntü Đşlemleri

� Alt düzey Đşlemler ( Gürültü giderme, zenginleştirme, keskinleştirme vb.)

� Orta düzey Đşlemler (Bölütleme, sınıflandırma vb.)

� Üst düzey Đşlemler (Nesne tanıma, görme vb. )

Page 14: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

MatLabMatLab

Teknik programlama için tasarlanmış yüksekperformanslı bir dildir. Matlab ile;

• Matematiksel hesaplamalar,• Algoritma geliştirme• Algoritma geliştirme• Veri elde etme• Modeleme, simülasyon ve prototipleme• Veri analizi• Bilimsel ve mühendisliksel grafikleme• Uygulama geliştirme yapabilmek mümkündür.

Page 15: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Matlab Desktop Current Directory Window

Command WindowWindow

Start

Page 16: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Bir görüntü x-y koordinatları boyunca sürekli olabilir.Aynı durum x,y koordinatlarında olduğu gibi grilikseviyesinde de olabilir.

Bir görüntünün sayısal hale getirilebilmesi içinBir görüntünün sayısal hale getirilebilmesi içinkoordinat ve grilik seviyesinin diğer bir değişleyoğunluğunun sayısallaştırılması gerekir.

Page 17: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

SamplingSampling & & QuantizationQuantizationKoordinat değerlerinin sayısallaştırılmasına örnekleme(sampling), bu koordinatlardaki yoğunluğunsayısallşatırılmasına ise kuantalama (quantization)denir.

Page 18: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Koordinat DönüşümleriKoordinat Dönüşümleri0

0

1 2 3 N-1

1

2

3

………

……

1

1

2 3 4 N

2

3

4

………

……

y c

Bir çok sayısal

görüntü işleme

kitabında görüntü

koordinatları bu

şekilde

gösterilmektedir.

MatLab Image

Processin

Toolbox’da

görüntünün ele

alınış biçimi (r,c)

Not: Yukarıdaki yapıda üzerindeki (0,1) koordinatlı nokta,görüntü üzerindeki birinci satır boyunca alından ikinci örnek(sample) olduğu unutulmamalıdır. .

M-1

……

M

……

x r

gösterilmektedir.

Page 19: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Görüntü Görüntü MatsileriMatsileri

Eşitliğin sağ tarafı sözü edilen sayısal görüntüdür.

Page 20: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Matlab’da ise sayısal görüntü aşağıdaki şekilde temsiledilir.

1×N boyutlu matris satır vektörü, M×1 boyutlu matrisise sütun vektörüdür. 1×1 matris ise skalerdir.

Page 21: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Görüntü OkumaGörüntü Okuma

Matlab ortamında görüntüyü okumak için aşağıdakifonksiyon kullanılır. Syntax’ı ;

Örn:Örn:

Page 22: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Bazı FormatlarBazı Formatlar

Page 23: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Boyut BilgisiBoyut Bilgisi

Page 24: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

f matrisindeki (görüntü) satırların sayısını M’ye;sütunların sayısını da N’ye aktarır.

Birinci Boyut (first dimension)

İkinci Boyut (second dimension)

Page 25: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Dizi hakkında bilgi almak için ;

Page 26: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Ekranda ÇıktısıEkranda Çıktısı� Matlab ortamında görüntüyü ekranda görüntülemek için

aşağıdaki fonksiyon kullanılır. Syntax’ı ;

• Low ile belirtilen değerinden küçük ve eşit olan parlaklık• Low ile belirtilen değerinden küçük ve eşit olan parlaklıkdeğerlerini 0’a; high ile belirtilen değerden büyük veyaeşit olan parlaklık değerlerini ise 1’e eşitler. Arada kalandeğerlerde ise değişiklik olmaz.

Page 27: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı
Page 28: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

� imtool, görüntü üzerinde daha fazla etkileşim kurma imkanı sağlar.

Page 29: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı
Page 30: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Görüntü Saklama/KaydetmeGörüntü Saklama/Kaydetme

Matlab ortamında görüntüyü saklamak için aşağıdakifonksiyon kullanılır. Syntax’ı ;

Page 31: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

JPEG ve TIF SaklamaJPEG ve TIF Saklama

Örn:Örn:

Page 32: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

DPIDPI--Görüntü Boyutu ĐlişkisiGörüntü Boyutu Đlişkisi

Elimizde 450×450 boyutlarında, 200 dpi çözünürlüğesahip, 8 bit ile temsil edilmiş bir tif görüntübulunmaktadır. Bu görüntünün çözünürlüğünü 300 dpi’açıkarırsak görüntü üzerinde olabilecekler için nesöylenebilir?söylenebilir?

Page 33: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı
Page 34: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Veya;

Page 35: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

MatLab’dakiMatLab’daki Veri TürleriVeri Türleri

Page 36: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Đmge/Görüntü TürleriĐmge/Görüntü Türleri

MatLab toolbox’ı tarafından 4 tür görüntüdesteklenmektedir. Bunlar;

Page 37: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

ToolboxToolbox FonksiyonlarıFonksiyonları

Page 38: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

ÖrnekÖrnek

Görüldüğü gibi im2uint8 parlaklık değeri0’dan küçük olan pikselleri 0; 1’denbüyük olanları ise 255’e eşitlemiştir.Diğer tüm değerleri ise 255 ile çarpmıştır.Elde ettiği değerleri ise en yakın integersayıya yuvarlamıştır.

?

Page 39: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

ÖrnekÖrnek

?Görüldüğü gibi im2double görüntününparlaklık değerlerini 255’e bölerekdouble veri türüne dönüştürmektedir.Eğer girdi görüntüsü uint16 türünde

olsaydı durum ne olurdu?

Page 40: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

ÖrnekÖrnek

Page 41: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

Toolbox fonksiyonu olan mat2gray herhangi bir veritüründe olan görüntüyü [0 1] aralığında olacakşekilde double türünde olan bir görüntüye dönüştürür.Kullanımı;

Page 42: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

ÖrnekÖrnek

Page 43: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

im2bw fonksiyonu binary bir görüntü oluşturur.Kullanım şekli aşağıdaki gibidir:

T eşik değeri (threshold value) olup [0,1] aralığındadır.

Page 44: MatLab’daMatLab’daTemel Đşlemler ve Temel Đşlemler ve Temel …4erler.net/BM422/Matlab_Giris.pdf · 2018-02-10 · MatLab Teknik programlama için tasarlanmı ş yüksek performanslı

ÖrnekÖrnek