Matlab Image Processing Toolbox İlgili Temeller – Bölüm 1

Bu yazı {29 Ekim 2009 || Perşembe saat 18:26} sularında mcaniban tarafından yazılmıştır.

Matlab programlama dilinin eklentilerinden biri olan Image Processing Toolbox (Görüntü işleme aracı); geomatik uygulamalardan biri olan Dijital Görüntü İşleme ile ilgili hedeflenen sonuçlara ulaşmamızda bizlere yardımcı oluyor. Gerek herhangi bir görüntü, gerekse de hava fotoğrafı ya da uydu görüntüsü kullanımında temel gereksinimiz olan bazı algoritmaları uygulama fırsatı sunan bu aracın, bazı temel özellikleri ve algoritmaları ile düşünmekte yarar var.

Önce bir görüntünün nasıl Image Processing Toolbox’a (IPT) atanabileceğini göstermek gerekiyor. IPT, Matlab’a görüntü atıldığında otomatik olarak ortaya çıkan bir araç. Sizin herhangi bir JPEG görüntüsünü atamanız için ilk temel kod:

f=imread('ikonos.jpg')

Görüntü bu kod ile, Matlab içersine atanır ve görüntünün tüm matrisi command window içersinde oluşmaya başlar. Görüntünün figure penceresinde görünmesi için yazılması gereken kod:

imshow(f) (1)

Böylelikle görüntü matlab içersinde açılmış olacaktır.

matlab1

Görüntü dizisi hakkında bilgi edinmek, geomatik mühendislerinin olmazsa olmaz gereksinimidir.

size(f) kodu ile görüntünün boyutunu, whos f kodu ile de görüntünün detaylı mekansal çözünürlük ve radyometrik bilgilerini öğrenebiliriz. Bu kodların dışında direkt olarak aşağıdaki 2 numaralı kodla, toolbox içersinde görüntüyü açar ve gerekli bilgileri elde edebiliriz.

imtool(f) (2)

Açılan pencerede, info sekmesiyle görüntü bilgilerini, pixel region sekmesi ile de, her bir pikselin yansıtım değerlerini (RGB) öğrenebiliriz.

matlab2

Elimizdeki RGB görüntünün yoğunluk formatına (intensity) dönüşümü için elimizdeki f RGB görüntüsünü, p intensity görüntüsüne çevirecek kod ise;

p=rgb2gray(f);  (3)

Çevirimden sonra, görüntü için üstteki bahsedilen işlemler yeniden uygulanabilir. Bunun yanında, görüntü gri değerlerine dönüştüğünden, kontrast ayarlarını da yapabiliriz.

matlab3

IPT dahilinde, intensity değerlerine dönüştürülmüş görüntüler ile histogram işlemleri yapılabilir. Aşağıdaki 4 numaralı kod ile görüntünün histogramı çizilebilir. Matlab’taki grafik opsiyonları sayesinde de histogramı, bar ya da plot formatlarında da çizdirebilirsiniz.

imhist(p) (4)

graf1

graf2

graf3

Temel görüntü işleme algoritmalarından olan histogram eşitleme algoritması (Histogram Equalization), IPT dahilinde hazır olarak bulunmaktadır. Elimizdeki görüntüyü atadıktan sonra, aşağıdaki 5 numaralı kod ile görüntüye histogram eşitlemesi geçirttirilebilir ve sonuçları histogramlarını çizdirerek karşılaştırabiliriz.

g=histeq(p,256) (5)

Elde edeceğimiz, eşitlenmiş görüntü aşağıdaki gibidir.

equalized

Eşitlenmemiş görüntü ve eşitlenmiş görüntünün histogramlarını karşılaştırdığımızda, algoritmanın amacına uygun olan daha düze yakın bir histogramı elde etmiş oluyoruz.

graph5

graf6

Bir diğer görüntü işleme örneği de; görüntünün kontrast dengelemesidir. (contrast adjustment)

z=imadjust(p) kodu yardımıyla, görüntünün kontrast değerlerinin dengelenmiş bir hale dönüşmesini sağlayabilir, aşağıda görüleceği gibi görüntüleri ve histogramları karşılaştırabiliriz.

kontrast dengelemesi

graf7

graf8

Görüldüğü üzere, elimizdeki örnek görüntü 8 bit radyometrik çözünürlüğe (yani 256 adet gri parlaklık yansıtım değerine) sahiptir. Bu görüntüden binary (1 bit- sadece siyah ve beyaz) görüntüler elde etmek için, görüntü segmentasyonunun (image segmentation) temeli olan thresholding (eşiklendirme) algoritmasını Matlab IPT dahilinde uygulayabiliyoruz.

level=graythresh(p);

bw=im2bw(p,level);

Yukarıdaki kodları girdikten sonra oluşan görüntüyü ve histogramı açtığımızda, algoritmadan çıkan yeni eşiklendirilmiş görüntüyü ve histogramını görebiliyoruz.

threshold

graf9

devamı gelecek….

M.Can İBAN

İTÜ Geomatik Mühendisliği 4. Sınıf

Benzer İçerikli Yazı Bulunamadı.

Bu yazıya Yorumunuzu Ekleyin veya kendi sitenizden Geri İzleme yapın.

Düşünceni Paylaş, Kafanda Duracağına Burada Dursun!