Serkan Kaba

Karalama Defteri

İlk örüntü tanıma çalışmam

Posted by Serkan Kaba 24 Mart 2007

Yüksek lisansta aldığım örüntü tanıma (Pattern Recognition) dersi kapsamında ilk ödev resim işleme (ki bu dersi de alıyorum) teknikleri ile basit bir resmi tanıması daha kolay hale getirmekti. Bu arada bu işlemleri Matlab ile yapıyorum.

Resmi (Resim 1) Matlab’a aktardıktan sonra önce hesaplamaları kolaylaştırması açısından boyutunu küçülttüm. Daha sonra gri-tonlama haline getirdim (Resim 2). 3. adımda resmin kenarlarını buldum (Resim 3) Bu aşamada resim gri-tonlamadan siyah beyaza dönmüş oldu. Daha sonra bu kenarları belirginleştirdim (Resim 4). En son aşamada ise ortadaki boşlukları beyaz ile doldurdum (Resim 5). Böylece tanınabilecek bir sandalye prototipimiz oluşmuş oldu. Resim galerisinde bu adımları daha iyi farkedebilirsiniz.
Adım 1: Resmi Okuma
I=imread('/home/firari/Desktop/sandalye/chair.jpg');

Adım 2: Resmin boyutunu küçültme ve gri-tonlamaya çevirme
I2=imresize(I,0.5);
gray=rgb2gray(I2);

Adım 3: Resmin kenarlarını bulma ve thresholding (Edge detection)
bw=edge(gray,'sobel',graythresh(gray)*0.2);

Adım 4: Kenarlarını belirginleştirme
e90 = strel('line', 3, 90);
se0 = strel('line', 3, 0);
BWsdil = imdilate(bw, [se90 se0]);

Adım 5: Ortadaki boşlukları beyaz ile doldurma
BWdfill = imfill(BWsdil, 'holes');

Düzeltme: Matlab kurulum belgesinden dolayı Aydın Tarık Zengin‘e teşekkürlerimi borç bilirim.

Düzeltme 2: Kodlar eklendi.

7 Yanıt to “İlk örüntü tanıma çalışmam”

  1. Selçuk said

    ‘strel’ fonksiyonunun yerini alan başka bir fonksiyon var mı acaba? ben de strel fonksiyonunu tanımadı. Yardımcı olursanız sevinrim. Bendiki matlab sürümü : 6 belki bi ilgisi vardır

  2. […] 14th, 2007 at 14:19 (görüntü işleme, java) İlk örüntü tanıma çalışmamda yaptığım işlemi acaba Java’da yapabilirmiyim diye araştırdım. Daha önceden duymuş […]

  3. Serkan Kaba said

    Ben 7.3 (2006b) kullanıyorum ancak hoca 6.5 kullanıyor ve bu örnekler çalışıyor.

  4. pınarr said

    Silindi

  5. esra said

    Merhaba,

    Matlab 7.1 kullaniyorum.Yazdiginiz kod parcasini calistiramadim.Hata olarak edge fonksiyonunun yanlis kullanildigini soyluyor.Surum den kaynakli bir durum olabilir mi?

    tesekkur ederim..

  6. hatice said

    Merhaba elinizde görüntü işleme, örüntü tanıma ile ilgili başka kodlar var mı?

  7. rumeysa said

    merhaba
    kodlar çok güzel anlatılmış ve çalışıyor..teşekkürler bir sorum olucak
    gray matrisinde bulunan değerler (resmin gray modu) 0-255 arasında ve bu matrisin toplamını hesaplamak istiyorum.
    degerleri tek tek okuyabiliyorum 219,232 gibi ama toplamak istediğimde 255 i aşmıyor değerler..
    ortalamasını nasıl alabilirim mesela 200X 200 bir image için
    sum hep 255 çıkıyor.. başka bir değişkene atıyorum gray matrisindeki elemanları işlemler yine aynı oluyor..

    sum=0;
    for i=1:200
    for j=1:200
    sum=sum+gray(i,j);
    end
    end
    sum
    iyi çalışmalar..

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

 
%d blogcu bunu beğendi: