Mehmet Akif Akkus

Bir Bilgisayar Mühendisinin Günlüğü

Wednesday, Feb 08th

Last update:01:05:22 PM GMT

Headlines:
RSS
You are here: Projeler Görüntü işleme Morfolojik Görüntü İşleme 2-Benzer Nesneleri Seçme

Morfolojik Görüntü İşleme 2-Benzer Nesneleri Seçme

e-Posta Yazdır PDF

Görüntü işlemenin zevkli konularından birisi olan morfolojik görüntü işleme ile örneklerimize devam ediyoruz. Şekil1'de Bir insan vücudunun enine kesitini görüyoruz(Bazılarımızın hoşuna gitmemiş olsa da görüntü işleme tıp dünyasınının vazgeçilmezlerinden).

 

Bu resimde belirgin olan organları morfololik görüntü işleme ile ortaya çıkarmaya çalışacağız. Şekil1 de solda karaciğer, omurganın iki tarafında böbrekler, orta tarafta mide ve sağda dalak bulunuyor. Eee bunları sen nereden biliyorsun diye soracak olursanız dönem 2 tıpta okuyan(Onur Gözmen Hacettepe tıp) arkadaşım söylemişti.

kidney Åžekil1

Åžimdi aÅŸama aÅŸama bu resmi Matlab kullanarak iÅŸleyelim.

1
2
f = imread('kidney.jpg');
f = rgb2gray(f);

Matlab ana dizinine attığımız resmi imread() fonksiyonu ile okuyoruz. Ardından resmimizi rgb(Renkli red,green,blue) olduğundan bunu gri forma çeviriyoruz.

 

1
2
3
f(f>180) = 0;
r1 = im2bw(f,0.50037);
figure, imshow(r1)

Resimde aşırı beyaz alanlar olduğundan parlaklık değeri 180 den fazla olanlaı siyaha çevirdim. Daha sonra resmi ikili(binary) resim formatına çeviriyoruz. İkili resim demek bizim belirlediğimiz sınır(treshold) değerinden büyük koyuluk deerine sahip olanlara '1' değerini yani beyaz, bu değerin altında olanlara da '0' değerini verir buda siyah demektir. Ve resmimizi ekrana basıp ne aşamada olduğumuzu bir görelim.

1-1Åžekil2

1
2
3
se = strel('disk',5);
r1 = imerode(r1,se);
figure, imshow(r1)

Resmi oluşan karmaşıklı gidermek için erezyona uğratıyoruz. Erezyona uğratmak için bir şekil oluşturmamız gerekiyor. Ben bu aşamada çapı 5 birim hücre olan bir diski seçtim. Erezyon işleminden sonra resmimizin durumu şekil3 e görünüyor.

1Åžekil3

1
2
r1 = bwareaopen(r1, 255);
figure, imshow(r1)

Resimde işimize yaramayan küçük parçacıklar oluştuğunu görüyoruz. Bunlardan kurulmak için bwareaopen() fonksiyonu kullanışlı götünüyor. Fonksiyonun aldığı değerden küçük hücre sayısından oluşmuş olanlar eleniyor ve şekil4 'teki görüntümüz oluşuyor.

2Åžekil4

1
2
3
se = strel('disk',5);
r1 = imdilate(r1,se);
figure, imshow(r1)

Küçük parçacıkları yok ettik. Gayet güzel gidiyoruz. Şimdi sıra organların içerisinde erozyonun oluşturduğu delikleri kapatmada. Burada yine aynı 5 birimlik diskimizle resmimizi tarıyoruz ve resme imdilate() fonksiyonu ile genişletme uyguluyoruz ve Şekil5'teki resmimizi elde ediyoruz.

3Åžekil5

1
2
r1=imfill(r1,'holes');
figure, imshow(r1)

İstersek organ seçme içişini burada bitirebiliriz. Fakat ben organların içerisinde olan boşluları giderme yolunu seçtim. Bunun için imfill() fonsiyonunu kullandım. Böylece organların içerisinde oluşan boşluklar gitmiş oldu. Bunun resimde nasıl bir değişiklik yapmış olduğu tahmin edilebileceğinden resmini koymuyorum. Şimdi gelelim oluşan bu ikili resim nasıl resimde göstereceğiz.

 

1
2
f(~r1)=0;
imshow(f);

~r1 ile resmimizin tersini alıyoruz. Bu şu demek beyaz olan kısımları siyah, siyah olan kısımları ise beyaz yapıyoruz. Böylece siyah kısımları seçili hale getiriyoruz gibi dşünebiliriz. Bu kısımları orijinal resmimizde 0 yani siyah değeri vererek sadee organların oldupu yerleri ortaya çıkarmış oluyoruz. İstersek organları boyayadabiliriz. Ama renkli görünmesi için rgb formatında remi üretmemiz gerekiyor. Yani resim red, gree ve blue olmak üzere 3 katmanlı yapıp organların olduğu koordinatlara istediğimiz renk değerlerine göre renklendirebilirdik. Neyse resmimizin son halini şekil6 da görüyoruz.

son

Eğer sizde denemek veya üzerinde çalışmak isterseniz buyrun resmin orijinal halini indirin :

http://www.dosyalar.akifakkus.com/resimler/kidney.jpg

 

 


Related news items:
Newer news items:
Older news items:

Yorumlar  

 
0 # 2010-10-09 12:28
o onur benim (hacettepe şu an dönem 3) şunu belirtmeden geçemicem normalde dalak insanın solunda karaciğer sağındadır (bu resimde tersi gibi) görüntüdeki insanın başı ekranın derininde ayakları size doğru dışarıda sırt üstü yatmış gibi düşünün lütfen :)
Cevap | Alıntı | Alıntı
 
 
+2 # 2010-10-09 19:59
Onur yazımı nereden okudun?
Cevap | Alıntı | Alıntı
 

Yorum ekle


Güvenlik kodu
Yenile