MATLAB ve Görüntü İşleme

 MATLAB ve Görüntü İşleme

İleri düzey görüntü işleme problemlerinin standart yöntemlerle çözülmesi oldukça zordur. MATLAB, görüntüler üzerinde kolaylıkla uygulamalar yapılabilen, sonuçların analiz edildiği ve gerçek hayatta kullanılabilecek çözümler sunan esnek bir ortama sahiptir. MATLAB ve Image Processing Toolbox görüntü işleme, analiz, görselleştirme ve algoritma geliştirme için oldukça kullanışlıdır.

           MATLAB’ın Desteklediği Önemli Resim Formatlarından Bazıları

          MATLAB’ın çok sayıda video ve resim formatını desteklemektedir. Bunların bazıları Tablo 3.2.1.1’ gösterilmiştir. Ayrıca resim formatları olarak BMP, DIB, JPEG, JPG, JPE, PNG, PBM, PGM, PPM, SR, RAS, TIFF ve TIF uzantılı resim dosyaları da desteklemektedir. Bunlardan bazıları aşağıdaki gibidir.[3]

Format İsmi
Açılımı
Uzantıları
TIFF
Tagged Image File Format
.tif,.tiff
JPEG
Joint Photographic Expert Group
.jpg,.jpeg
GIF
Graphics Interchange Format
.gif
PNG
Portable Network Graphics
.png

Tablo 3.2.1.1.  Resim Formatları

MATLAB’ da Görüntüyü Okuma ve Gösterme

            MATLAB’ da herhangi bir görüntü üzerinde işlem yapabilmek için öncelikle gerekli olan görüntünün bulunduğu dizinden alınarak bir değişkene atılması daha sonra kullanılması sırasında kolaylık sunacaktır. Bu işlemi yapabilmek için imread fonksiyonu kullanılır. Örneğin; aşağıda verilen kod satırlarından ilki ile “ammar.png” ismindeki resim “resim” isimli değişkene atılmıştır. Bu sayede resim değişkenine atılan bu resim MATLAB içerisinde herhangi bir komut veya fonksiyon ile kullanılabilecektir. Bu kod örneğinin ikinci satırında ise görüntünün imshow komutu ile ekranda görüntülenmesi sağlanmıştır ve ayrıca imshow komutunun yanı sıra resimleri görüntülemek için kullanılan diğer bir komut ise imtool’dur. Bu komut ile görüntülenen resim üzerinde daha ayrıntılı bilgi sahibi olunabilir. Gölge tespitinin ilk kısımlarında imtool fonksiyonu bize görüntü üzerinde yorum yapmamızı sağladı. Title ise isminden anlaşılacağı gibi açılan sayfaya başlık vermemizi sağlamaktadır.

  • ·    resim = imread('ammar.png');
  • ·    imshow(resim)
  • ·    title(‘deneme resim');
  • ·    imtool(resim);


MATLAB’ da Değişkenlerin Bilgisini Gösterme

          MATLAB’ da whos fonksiyonu ile çalışma ortamındaki değişkenler listelenir. Listelenen veriler değişkenlerin boyutu, sınıfı gibi değerlerdir. 


 MATLAB’ da Renkli Görüntüyü Gri Seviyeye Dönüştürme

          Renkli bir görüntüyü gri seviyeli bir resme dönüştürmek için rgb2gray komutu kullanılır.


·    resim = imread('C:\Users\ASLAN\Desktop\deneme.jpg');
·    resim = rgb2gray(resim);
·    imshow(resim)


MATLAB’ da Histogram ve Görüntü Kontrastını Geliştirme

            Bazı görüntüler düşük kontrasta sahiptir. Düşük kontrasta sahip görüntülerin yoğunluk dağılımlarını görmek için, imhist fonksiyonu çağrılarak bir histogram oluşturulabilir. Histogram, bir görüntü içerisindeki renk değerlerinin tekrarlanma sıklığını gösteren bir grafiktir. Bu grafik sayesinde görüntünün aydınlık ya da karanlık olduğu hakkında bilgiler elde edilebilir. Karanlık bir görüntüde sıfıra yakın renk değerlerinin sayısı fazladır. Bu yüzden histogramda küçük değerlerde bir yığılma görülür. Aydınlık bir görüntüde ise histogramda yüksek değerlerde bir yığılma görülür. Düşük karşıtlıkta histogramın belirli bölgelerinde yığılma olan görüntülerde görülür. Aydınlık veya karanlık görüntüler buna örnek verilebilir. Görüntünün histogramını göstermek için, öncelikle rgb2gray komutu ile görüntü gri seviyeye dönüştürülür ve imhist komutu ile histogramı gösterilir.

·    Image = imread(‘tez.jpg’);
·    Imshow(Image);
·    Image = rgb2gray(Image), imhist(image)

          Görüntüdeki kontrastı geliştirmek için MATLAB araç kutusu birkaç farklı yol sunar. Düşük karşıtlık olan görüntülerde histogram eşitleme yapılarak daha anlamlı görüntüler elde edilir. Histogramda belli bir bölgede yığılmış olan değerleri yayarak yeni görüntü elde edilir. Histogram eşitleme işlemi için MATLAB’ da histeq fonksiyonu kullanılır. Komut satırına aşağıdaki kodlar yazılarak histogram eşitleme yapılır.
·    resim = imread('C:\Users\ASLAN\Desktop\ammar.jpg');
·    resim = rgb2gray(resim);
·    imshow(resim)
·    i = histeq(resim);
·    figure, imhist(i)
·    figure, imshow(i);

Histogram eşitlendikten sonra imhist komutu ile görüntünün histogramına bakıldığında eşit dağılımlı bir grafik elde edildiği görülür. Görüntünün histogram eşitlendikten elde edilen grafiği inceleyebilirsiniz.



MATLAB’ da Görüntüyü Dosyaya Kaydetme ve Görüntü boyutu hesaplama
            Görüntüyü kaydetmek için imwrite fonksiyonu kullanılır. Parametre olarak kaydedilecek olan görüntü ve kayır için isim girilir. Komut satırına aşağıdaki kod yazılarak görüntü dosyaya kaydedilir. Size fonksiyonu da bize görüntü boyutunu ve kanal sayısını vermektedir. Kod satırı aşağıdadır.

·    size(rgbImg)
·    ans =
·    385   385     3



 MATLAB’ da Dosyaya Kaydedilen Görüntü Bilgilerini Gösterme
          Herhangi bir resme ait bilgileri göstermek için imfinfo fonksiyonu kullanılır. Kod satırı ve sonuç aşağıdaki gibidir.

·    imfinfo ('C:\Users\ASLAN\Desktop\deneme.jpg')
ans = Filename: 'C:\Users\ASLAN\Desktop\deneme.jpg'
FileModDate: '20-Eki-2013 19:20:57'
FileSize: 12961
Format: 'jpg'
FormatVersion: '',    NumberOfSamples: 3
Width: 259, Height: 194, BitDepth: 24, ColorType: 'truecolor',  FormatSignature: ''

MATLAB’ da Görüntü Analizi ve Görüntüyü Geliştirme
           MATLAB’ da bir görüntüyü imread fonksiyonu ile okuyarak bu görüntü üzerinde bazı iyileştirmeler yapılabilir. Komut satırına aşağıdaki kodlar yazılarak görüntü Şekil 3.2.8.1’deki gibi ekranda gösterilir.
·    I = imread(‘deneme.png’);
·    imshow(I)


Şekil 3.2.8.1. “deneme.png” adındaki görüntü

Bu örnek görüntüde, görüntünün alt tarafındaki arka plan aydınlığı daha parlaktır. Arkaplan aydınlığını tahmin etmek için morfolojik açma işlemi kullanılır. Morfolojik açma işlemini göstermek için imopen fonksiyonu kullanılır.

·    Background = imopen(I,strel(‘disk’,15));
          Komut satırına yazılan bu kodda strel, morfolojik işlemlerde kullanılan yapısal bir filtre elemanıdır. Morfolojik işlemlerin hangi şekil ve parametrelerle uygulanacağı strel ile belirlenir. Kullanımı, strel(filtreleme şekli, parametre) şeklindedir. Örneğin; SE = strel (‘disk’, R) ifadesinde R yarıçaptır. SE= strel(‘square’, L)  L ise karenin bir kenarının uzunluğunu gösterir. Komut satırına yazılan bu kodla, Şekil 3.2.8.1 “deneme.png” adındaki görüntü  Şekil 3.2.8.2’deki biçime dönüştürülür.


Şekil 3. 2. 8. 2. Strel komutu ile arka planı değiştirilmiş görüntünün görüntüsü


Yorumlar

Yorum Gönder

Popüler Yayınlar