• Sonuç bulunamadı

Düşeye çevrilmiş yakın mesafe bina resimlerinin vektörizasyonu

N/A
N/A
Protected

Academic year: 2021

Share "Düşeye çevrilmiş yakın mesafe bina resimlerinin vektörizasyonu"

Copied!
77
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

İÇİNDEKİLER 1. GİRİŞ... 6 2. literatür araştırması... 8 3. Materyal ve Yöntem... 10 3.1 Görüntü İşleme Temelleri... 10 3.2 Algoritmalar:... 11

3.2.1. Histogram Tabanlı İşlemler: ... 11

3.2.2. Matematik Tabanlı İşlemler:... 14

3.2.3. Konvolosyon Tabanlı İşlemler:... 16

3.2.4. Düzeltme İşlemleri: ... 22

3.2.5. Türev Tabanlı İşlemler: ... 30

3.3. Kenar Bulma Teknikleri: ... 39

3.3.1. Eğim Tabanlı İşlem: ... 39

3.3.2. Sıfır Geçiş Tabanlı İşlem: ... 39

3.3.3. Artı Tabanlı İşlem:... 41

3.5. Vektörizasyon ... 44

4. VEKTÖRİZASYON İŞLEMİNDE kullanılan YÖNTEM ve ARAÇLAR .. 48

(2)

4.1.1 Resmi Gri Değere Çevirme... 49

4.1.2 Ortalama Filtre: ... 51

4.1.3 “Türev Tabanlı” Kenar Bulma:... 52

4.2 Vektörizasyon Algoritması... 54

4.3. Diğer Ticari Yazılımlar: ... 59

4.4 DXF (Drawing Interchange Format) Formatına Çevirme ... 63

4.4.1 ASCII DXF Dosya Formatı ... 64

5. SONUÇ... 78

(3)

1. GİRİŞ

Günümüzde, sayısal haritaların hazırlanması ve şehir simülasyonlarının geliştirilmesi için vektörizasyon büyük önem taşımaktadır. Çünkü gelişen sosyal ortam ve teknoloji yüzünden oluşturulan sayısal haritalar ve şehir simülasyonları zamanla yenilenmesi gerekir. Sürekli yenilenen şehir simülasyonları sayesinde, gelecek şehir planları hakkında bilgi sahibi olunabilir ve planlar buna göre geliştirilebilir. Vektörizasyon sayesinde, elle yapılması gereken ve çok uzun zaman alan işlemler bilgisayar ile herhangi bir kullanıcı müdahalesine gerek kalmadan kısa sürede gerçekleştirilebilmektedir. Vektörizasyon ayrıca, tarihi eserlerin restorasyonu için de kullanılan bir metottur. Tarihi eserin farklı açılardan çekilen resimleri ve ek bilgiler ile restorasyon işlemi gerçekleştirilebilmektir. Tam otomatik bir vektörizasyon metodu, bir resmin işlenme süresini, otomatik olmayan veya kullanıcı tabanlı bir metoda kıyasla oldukça düşürmektedir. Tam otomatik vektörizasyon metodu ile tüm işlemler önceden belirlenen parametreler çerçevesinde gerçekleştirildiği için kullanıcı müdahalesi sonucu oluşabilecek bir hata da engellenmiş olmaktadır.

Vektörizasyonda asıl amaç, kullanıcın otomatik olmayan diğer vektörizasyon metotlarını uygularken karşılaştığı işlem kalabalığını azaltmaktır. Otomatik olmayan yöntemlerde her kritik nokta kullanıcı tarafından belirlenmek ve işaretlenmek zorundadır. Tam otomatik bir vektörizasyon metodunda ise bu işlem bilgisayar tarafından, kullanıcı müdahalesine gerek kalmadan yapılarak kullanıcıya yüklenen işlem yükü azaltılması ve kullanıcıdan kaynaklanabilecek hatalar engellenmesi amaçlanmaktadır.

İşlem süresinin azaltılmasından dolayı, detayı daha iyi temsil eden, çözünürlüğü yüksek görüntülerle çalışma tercih edilmektedir. Bunun sonucu olarak elde edilen vektörizasyon da daha iyi detayları temsil edebilmektedir.

(4)

Otomatik olmayan, model tabanlı bir yöntemde vektörizasyon yapılabilmesi için resmin önceden belirlenen modellere uygun nesneler içermesi ve belirli arama yönlerinde arama yapmak gerekir. Yapılan bu tez çalışmasında model tabanlı olmayan, tam otomatik bir vektörizasyon metodu geliştirilmiştir. Bu metot ile önceden hiçbir hazırlık yapılmadan, resimdeki şekillerin vektörizasyonu amaçlanmaktadır.

(5)

2. LİTERATÜR ARAŞTIRMASI

Yakın mesafe resimlerden detaylı yeniden inşa için model tabanlı yöntemler kullanılmıştır. Resimden elde edilen 3 boyutlu noktalar, sağlam bir gerileme algoritması ile önceden hazırlanan pencere modellerine uydurulması ile bilgisayar destekli çizim gibi bir yüzey modelleme sağlanmaktadır. Önceden belirlenen pencere modellerinin yeniden çizilmesi için, orijinal resimdeki parametrelere en uygun şekilde örtüşmesi gerekmektedir. Bu yayında, gerçek veri tabanları kullanılmıştır. (Schindler ve Bauer 2003)

Yarı otomatik ve büyük veri tabanlarına uygulanan birçok uygulama olmasına rağmen, şu anda araştırılan konu tam otomatik olarak üç boyutlu şehir modellerinin çıkarılması üzerine yoğunlaştığına dikkat çekilmiştir. Mimari değerlendirme için şehir planı çıkarılması, şehir planlama, şehir bilgi sistemleri şehir iklimlendirmesi için şehir modeli çıkarılması çevresel değişkenlerin belirlenmesi ve dalga dağılımı gibi uygulamalar, bu uygulamalara örnek olarak gösterilebilir. Bu yayın kullanılabilir veri tabanlarından ve bilimsel çevreler tarafından belirlenen verimli üç boyutlu metotlara değinmiştir. (Fritsch ve Spiller 1999).

Lazer tarayıcılı sistemler, geleneksel yöntemlere göre, şehir planları çıkarmada daha kullanışlı ve verimli olduğu savunulmuştur. Çünkü gerçek zamanlı olarak uygulanabilmekte ve diğer yöntemlere göre daha verimlidir. Bu yayında özellikle araçtan çekilmiş lazer tarayıcıdan alınan veriden nesne bilgilerinin elde edilmesi gösterilmektedir. Sadece bu veriyle, başka bir yardımcı veriye ihtiyaç duyulmadan özellik çıkarma ve nesne sınıflandırma işlemleri gerçekleştirilebilir (Li ve ark. 2004).

(6)

Karasal resimlerden, görünüm tabanlı bina tespiti için geliştirilen bir metot tanıtılmıştır. Verilen yönelim ve yaklaşım ile resimdeki bina 3 boyutlu CAD tarzı bir şekilde ifade edilmektedir. Bu yayında kullanılan metot, bir görüntüleme cihazı ve bir yaklaşım bulan donanım ile geliştirilmiştir. Bu çalışma yakın mesafe resimlerle, şehir modeli çıkarmayı amaçlamaktadır (Böhm ve ark. 2002).

Dünyadaki geometrik ve fotogrametrik 3 boyutlu modelleri doğru bir şekilde otomatik olarak çıkarmayı amaçlayan bir çalışma tanıtılmıştır. Bu modeller, uzaktan sunum, sanal gerçeklik, sayısal sinema ve şehir planlama uygulamada kullanılır. Uzaklık ve resim duyarlığı kombinasyonu, gerçek ve yüksek kalitede fotogrametrik modeller çıkarmayı sağlayan özelliklerdir (Stamos ve Allen 2000).

Bina yüzeylerinin ayrıntıları yüksek kaliteli görüntüleme ve simülasyon uygulamaları için gerekli olduğunu vurgulamışlardır. Pencere formu, yüzey ayrıntılarının özelliklerini çıkarmada anahtar bir öneme sahiptir. Bu yayında rektifiye edilmiş cephe resimlerinden pencerelerin üç boyutlu özelliklerini çıkarmaya yönelik bir çalışma yapılmıştır. Çalışmada dikey ve yatay yönde iz düşüm profil yöntemiyle otomatik olarak pencerelerin üç boyutlu yapıları çıkarılması sağlanmıştır. Pencereler 2 boyutlu resimlerden ve örüntüdeki doku ile çıkarılmaktadır. Pencerenin derinliği ise, çizgi özellikleri kullanılarak çıkarılmaktadır. Bu yaklaşımda bir tane yerden çekilmiş resim, pencerelerin 3 boyutlu özelliklerini çıkarmak için yeterlidir (Lee ve Nevatia 2004).

Metot bir binanın üç boyutlu modelini çıkarmak için bir dizi resim kullanmaktadır. Bu yöntem bilgisayar görmesinde “Görüntü ve Hareket algılama” olarak adlandırılan bir problemdir ve geleneksel yöntemler yakından ve büyük bir nesnenin etrafından çekilmiş resimlerle çalışamaz. Bu resim dizisi ile çalışmak, kısmi belirleme olduğu için bu yöntemler kararsız kalır. Deneyimler, 11 adet resimden, bir binanın 3 boyutlu modelinin çıkarılabileceğini göstermiştir (Tsuyoshi ve ark.) 2003).

(7)

3. MATERYAL VE YÖNTEM

Bu kısımda metodumuzu gerçekleştirmek için resme uygulanan ön işlemlerden ve temel görüntü ön işleme metotlarından bahsedilecektir.

Vektörizasyon modülü; Intel Pentium 4 3.2 GHZ, 1024 Mbyte RAM ’a sahip PC ‘de Visual C#.NET yazılım geliştirme ortamı kullanılarak hazırlanmıştır.

Programda kullanılan resimler 2 mega piksel boyutunda ve JPEG formatında resimlerdir. Yöntem bölümünde metodumuzda kullanacağımız resme uygulayacağımız ön işlemlerden bahsedilecektir.

3.1 Görüntü İşleme Temelleri

Görme yeteneği insanlara çevresindeki dünyayı anlama ve algılamayı sağlar. Computer Vision bir görüntüyü elektronik olarak algılamayla ve anlamayla insan görme yeteneğini taklit etmeyi amaçlar ancak bu bilgileri iki boyutlu görüntülerden elde etmek zorundadır. Bir derece daha düşük izdüşürülme büyük bir bilgi kaybına sebep olur. Hareketli objelerle veya hareketli bir kamerayla elde edilen hareketli dinamik görüntüler, bilgisayar görme yeteneğini daha karmaşık hale getirir.

Görüntü ile yapılan işlemler temelde üçe ayrılır: Görüntü işleme: görüntü girer → görüntü çıkar. Görüntü analizi: görüntü girer → ölçüm çıkar.

(8)

Computer Vision teknikleri matematik, şekil tanıma, yapay zekâ, bilgisayar, elektronik ve diğer bilim disiplinlerinin metotlarını ve sonuçları kullanılır:

Basit manada görüntü, iki değişkenli bir fonksiyon olarak düşünebilir. Örneğin a(x,y) fonksiyonu, (x, y) koordinatında bulunan pikselin parlaklığını verdiği söylenebilir. Bu bölümde görüntü işlemede kullanılan algoritmalar ve teknikler üzerinde durulacaktır.

3.2 Algoritmalar:

Bu bölümde, sayısal görüntü işlemenin temel işlemlerinden bahsedilecektir. Bu işlemler kendi içlerinde dörde ayrılabilir. Bunlar görüntü histogramı işlemleri, basit matematik işlemleri, sarmal tabanlı işlemleri ve matematiksel morfoloji işlemleridir. Bu işlemler ayrıca çalışma prensiplerine göre, nokta işlemleri, yerel işlemleri ve genel işlemleri olarak da sınıflandırılabilirler.

3.2.1. Histogram Tabanlı İşlemler:

Önemli nokta işlemlerinden biridir. Bir resmin veya bir bölgenin histogramını değiştirme esasına göre çalışır. En önemli türleri aşağıdadır.

Kontrast Uzatma (Contrast Streching):

Genelde resimler, kullanılabilir tüm dinamik parlaklık alanını kullanmazlar. Bu durum aşağıdaki grafiklerden görülebilir. Histogramı bu dinamik alana yayarak bu durumun üstesinden gelmeye çalışılır.

(9)

Şekil 3.2. a) Üsteki resmin parlaklık dağılım fonksiyonu (minimum, orta ve maksimum değerleri ile) b) Üsteki resmin parlaklık histogramı

Eğer resmin parlaklık değerini 0 dan 2b-1 aralığına dağıtmak istiyorsak ve 0’a % de olarak minimum değeri ve 2b-1 değerine ise % olarak maksimum değeri vermek istiyorsak formülümüz eşitlik 1. gibi olacaktır. (Gonzales ve Woods. 1993.)

min max min ] , [ ) 1 2 ( ] , [ − − • − = a m n n m b B (1)

Bu formülün daha sık kullanılan hali ise eşitlik 2. şekildedir.

          − − − • − = ) 1 2 ( % % % ] , [ ) 1 2 ( 0 ] , [ B dusuk yuksek düsuk B p p p n m a n m b          ≥ ≤ ≤ ≤ % ] , [ % ] , [ % % ] , [ yüksek yüksek düşüş düsuk p n m a p n m a p p n m a (2)

Kontrast uzatma işlemi bölgesel olarak da gerçekleştirilebilir. Bu formül sonucu gri değerleri 0 ile 1 arasına normalize edilmiş geçek sayı değerleri olacağına dikkat edilmelidir.

(10)

Eşitleme:

Eğer iki resim doku (texture) gibi, basit özellikleri ile karşılaştırılmak isteniyorsa bunun için ilk olarak bu iki resmin histogramlarını “standart” bir histograma normalize etmek gerekir. Bu işlem özellikle, resimlerin farklı şartlarda elde edildiği durumlarda çok faydalıdır. En genel histogram normalizasyon metodu “histogram eşitleme” metodudur. Bu metot b= f(a) fonksiyonu mevcut histogramı, tüm parlaklık değerleri için sabit bir olan değer alan bir histogram ile değiştirir. Bu işlem tüm parlaklık değerlerinin aynı olasılıkla bulunabileceği bir parlaklık dağılımına neden olur. Maalesef gelişigüzel bir resim için elde edilebilecek en makul sonuç da, budur.

Şekil 3.3. a) Orijinal resim b)Kontrast uzatma uygulanmış resim c)Eşitleme yapılmış resim

Diğer Histogram Tabanlı İşlemler:

Bu tür filtreler, mevcut histogram üzerine uygulanan bölgesel filtrelerdir. Bu filtreler minimum filtre, ortalama filtre ve maksimum filtrelerdir.

(11)

3.2.2. Matematik Tabanlı İşlemler:

Bu bölümde ikili aritmetik ile olağan aritmetik arasındaki farklara değinilecektir. İkili aritmetikte sadece iki parlaklık değeri vardır (0 ve 1). Normal aritmetikte ise 2b adet parlaklık değeri veya seviye vardır. Fakat görüntü işlenerek bu parlaklık değeri arttırılabilir. Bu yüzden çoğu yazılım sistemi 16 bitlik veya 32 bitlik parlaklık gösterimini seçerek, taşmaların önüne geçmeye çalışır.

İkili İşlemler:

İkili aritmetik form burada anlatılacak güçlü araç kümeleri için temel teşkil eder. İşlemler aşağıdaki gibi tanımlanır ve basit arama tabloları içeren etkili uygulama çeşitlerini içerir. İkili işlemler kümeleri için standart gösterim;

SUB XOR AND OR NOT b a b a c b a b a b a c b a c b a c a c • = − = • + • = ⊕ = • = + = =

Her işlem piksel piksel yapılır. Örneğin eşitlik 3.;

] , [ ] , [ ] , [m n a m n b m n c = • ∀m,n(3)

(12)

İkili değerlerde 1 siyah 0 ise beyaz olarak aşağıdaki gibi gösterilmektedir;

a) Şekil a b) Şekil b

c) NOT(b) =b d) OR(a,b) = a + b e) AND(a,b) = a * b

f) XOR(a,b) = a ⊕ b g) SUB(a,b) = a \ b

Şekil 3.4. Çeşitli ikili işlemlere örnekler.

SUB(*) operatörü özellikle a şekli sistematik olarak analiz etmek istediğimiz ilgili bölgeyi gösterirken ve b şekli bölgeden ayıklanmış analiz edilmiş kısmı gösterirken kullanışlıdır.

(13)

Aritmetik Tabanlı İşlemler:

Gri değer nokta işlemleri, görüntü işlemenin temellerini oluşturur ve aşağıdaki doğal aritmetik işlemlerini içerir:

İşlem Tanım Gerekli veri Tipi

ADD c= a + b Tam sayı

SUB c= a - b Tam sayı

MUL c= a * b Tam sayı veya gerçek sayı

DIV c= a / b Gerçek sayı

LOG c= log(a) Gerçek sayı

EXP c=exp(a) Gerçek sayı

SQRT c=sqrt(a) Gerçek sayı

TRIG c=sin/cos/tan(a) Gerçek sayı

INVERT c= (2B - 1) - a Tam sayı

Tablo 3.1. Aritmetik tabanlı işlemler 3.2.3. Konvolosyon Tabanlı İşlemler:

Konvolosyon görüntü işleme tekniklerinde önemli bir yer tutmaktadır. Buradaki temel amaç sonlu şekil ve büyüklükteki çerçeve alanının bir görüntü boyunca taranmasıdır. Çıkış piksel değeri çerçeve içindeki giriş piksel değerlerinin ağırlıklı toplamlarıdır. Buradaki ağırlıklar, çerçevedeki her bir piksellere uygulanan filtrenin değerleridir. Bu şekildeki kendi ağırlığı ile temsil edilen çerçeveye konvolosyon çekirdeği (convolution kernel) adı verilmektedir. Eğer filtre, h[j,k] dikdörtgen çerçevenin dışında sıfır ise {j=0,1,...,(j-1); k=0,1,...,(k-1)} o zaman konvolosyon eşitlik 4. gibi bir sonlu toplam şeklinde yazılabilmektedir.

∑∑

− = − = − − = ⊗ = 1 0 1 0 ] , [ ] , [ ] , [ ] , [ ] , [ J j K k k n j m a k j h n m h n m a n m c (4)

(14)

Bu eşitlik sadece bir görüntüyü düzleştirme (smoothing) ya da keskinleştirme (sharpening) olarak görülmemelidir. Her ne kadar eşitlik yerel özellikler taşısa da bu eşitlik kullanımında fourier alanını gerektiren global operasyonlara da uygulanabilmektedir. Bu ise, fourier dönüşümü olarak adlandırılmaktadır.

Konvolosyon:

Çeşitli görüntü işleme sistemlerinde genel uygulama a(x,y) şeklindeki fiziksel sinyali c(x,y) şeklindeki dijital sinyale dönüştürmektir. c(x,y)’nin elde edilmesi ise, giriş a(x,y) sinyalinin duyarlı sisteminde impulse cevabı ile konvolosyona tabi tutulması ile elde edilmektedir. Elde edilen sistem hem optical (görme ile ilgili), hem de elektriksel alt sistemlerden oluşabilmektedir. Eğer her iki alt sistem de lineer özellik gösteriyorsa, “kaydırma sabiti” (shift invariance) (LSI) ile paralellik arz eder ve bu sistem için konvolosyon metodu rahatlıkla uygulanabilir.

Tüm bu uygulamalar formül 5. ve 6. ile açıklanabilir. Lineerlik: If a1c1 ve a2 →c2 Then w1•a1+w2•a2 →w1•c1+w2•c2(5) Kaydırma Sabiti: If a(x,y)→c(x,y) then a(xx0,yy0)→c(xx0,yy0)(6)

Gösterimlerdeki w1ve w2keyfi seçimlik kompleks sabitler, xo ve yo ise yine keyfi

uzaysal koordinatlardır. Burada da iki şeye dikkat edilmelidir. İlki lineerlikte kompleks sabitlerin eşit ve 0 değerlikli seçilmesiyle giriş ve çıkışın eşit olmaktadır. Denklemlerdeki söz dizim, kamera sinyallerinin bir lineer sistemin çıkışı değildir ve bu yüzden de konvolosyon sonucunun sağlıklı olamamaktadır. İkincisi, M büyütme oranlı

(15)

optik lensler eğer 1x’den farklı ise kaydırma sabitinin (shift invariant) uygulanamamaktadır. Böyle bir durumda; a(x,y) giriş görüntüsündeki 1 birimlik çevrim; çıkış c(x,y) görüntüsünde M birimlik çevrime yol açmaktadır.

Defocus özelliğinin etkisi, sadece bulurlama (blurring) ya da düzleştirme (smoothing)’den daha fazladır. Böyle bir durumda bütün periyodik negatif loblar (lobes), 180 derecelik bir faz açısıyla kayar ve böylece siyah tonlar beyaza, beyazlar da siyaha döner. Bu durum Şekil 3.5’de gösterilmiştir.

Şekil 3.5. dairesel kutu yarı çapı a=4.5 olan test resmi a) Konvolosyon uygulanacak örnek b) Odaklanılmamış resim.

Konumsal Alanda Konvolosyon:

Konvolosyon ile açıklanacak olan filtreler tanımlanırken aşağıdaki matrisi kullanılacaktır. JxK boyutlu h[j,k] şeklinde tanımlı bir filtre verildiği düşünülsün. Bu durumda [j=0,k=0] koordinatının filtre matrisi h’nin tam ortasında olduğunu düşünülür. Bu durum Şekil 3,6’da gösterilmektedir. Eğer J ve K tek ise bu durumda belirtilen matrisi kullanırız, eğer çift iseler, o zaman matrisin orta noktası olarak (J/2,K/2) yaklaşımını kullanılır.

(16)

                                        −       −             −             −       − − −             − −             − − − − − −             − −       −             − −             − −       − − = 2 1 , 2 1 2 1 , 0 2 1 , 2 1 ] 1 , 1 [ ] 1 , 0 [ ] 1 , 1 [ 0 , 2 1 ] 0 , 1 [ ] 0 , 0 [ ] 0 , 1 [ 0 , 2 1 ] 1 , 1 [ ] 1 , 0 [ ] 1 , 1 [ 2 1 , 2 1 2 1 , 0 2 1 , 2 1 K J h K h K J h h h h J h h h h J h h h h K J h K h K J h h Λ Λ Λ Λ Μ Μ Ο Μ Μ Ν Μ Μ Λ Λ Μ Λ Λ Μ Λ Λ Μ Μ Μ Ν Μ Μ Ο Μ Λ Λ Λ Λ

Şekil 3.6.h[j,k]’yı belirten koordinat sistemi.

Konvolosyon toplamı denklemini daha yakından incelendiğinde, aşağıdaki hususlar göze çarpmaktadır;

*m=n=0 iken konvolosyon sınırlarını h[j,k]‘ya göre aritmetik ortalaması alınıp yeniden yazıldığında, a[j,k] değerlerinin görüntü sınırlarının dışına taşacağı görülmektedir.(http://www.batitrakya.dostweb.com/)

∑ ∑

+ − = + − = − − = o J J j K K k k j a k j h c 0 0 0 ] , [ ] , [ ] 0 , 0 [ , 2 ) 1 ( 0 − = J J 2 ) 1 ( 0 − = K K (8)

Bu aşamada akla şu soru gelmektedir. m<0, m>=M, n<0 ve n>=N için görüntüye hangi değerler atanmalıdır? Bu soruya direkt bir cevap olmamakla birlikte alternatif değerleri istenilen sıralı değerler olabilmektedir. Bu standart alternatifler;

a) Görüntüyü sabit bir parlaklık değeri ile(muhtemelen sıfır ile) genişletmek. b) Görüntüyü periyodik olarak genişletmek.

c) Görüntüyü sınırlarından kopyalamak (mirroring) suretiyle genişletmek. d) Görüntüyü sınırlardan kesin olmayan (istenilen) bir değerle genişletmek.

(17)

Tüm bu alternatif metotlar Şekil 3.7 gösterilmiştir.

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

Şekil 3.7. Bir görüntüyü normal sınırları dışında genişletme örnekleri.

Konvolosyon çekirdeği (kernel) h[j,k]’nın j=k=0 civarında mirrorlandığı (mirroring) ve ortaya m[m,n] ile dönüşüme uğramadan önce h[-j,-k] biçimini alacağı görülür.

Eğer, konvolosyon çekirdeği h[j,k] ayrışabiliyor ise (separable), yani konvolosyon çekirdeği eşitlik 9. şeklinde yazılabiliyorsa;

] [ ] [ ] , [j k h k h j h = satirsutun (9)

O zaman filtreleme eşitlik 10. ile temsil edilebilir;

] [ ] , [ ] [ ] , [ 1 0 1 0 f h k n j m a k h n m c sutun J j K k satir

∑ ∑

− = − =       − − = (10)

Formülden, tek boyutlu filtreleme yerine iki boyutlu filtrelemenin uygulanabileceği (birincisi k yönünde, ikincisi j yönünde) anlaşılır. N x N’ lik bir görüntü için hesaplanan kompleks durumun O(J*K)’dan O(J+K) ‘ya indirgenebileceği görülür.

Konvolosyon çekirdeğini ayrık olarak parçalamanın diğer bir gösterimi eşitlik 11.’deki gibidir.

(18)

t satir sutun h h h] [ ] [ ] [ = • (11) ) 1 ( ) 1 ( ) (J×K = J× • ×K

gibidir. Denklemdeki "t" matris transpoze işlemini temsil etmektedir. Bu denkleme göre h, [hsutun] sutun vektörü ile [hsatir] satır vektörünün çarpımları şeklinde ifade edilmektedir.

Bazı filtrelerde incremental implemantation (artışsal etkiler) özelliği görülmektedir. Bu özellikte, konvolosyon çerçevesi (window) görüntü boyunca ilerlediğinde çerçevenin en solda kalan sutunu, görüntü için en sağdan gelen yeni bilgi(data) olarak değerlendirilmektedir. Etkili algoritmalar bu özellik için tasarlanabilir ve yukarıdaki gibi ayrıştırılabilir filtreler (h[j,k]) ile kombine edildiğinde yukarıda anlatılan O(J+K) durum indirgemeleri kolaylığına dönüşebilmektedir.

Frekans Alanında Konvolosyon (Convolution in the frequency domain) Bölüm 3.4 ‘de konvolosyon metodu ile filtrelemenin bir diğer metodunun olduğu belirtilmiştir. Aynı sonuca aşağıdaki eşitlikler kullanılarak da gidilebilmektedir.

i-) A( Ω , Ψ ) = F{a[m,n]} ‘den A( Ω , Ψ ) hesaplanır.

ii-) Önceden bulanacak ( Ω , Ψ ) = F{h[m,n]} değeri ile A( Ω , Ψ ) çarpılır.

iii-) En son ise c[m,n] = F-1{A( Ω , Ψ )*( Ω , Ψ )} işlemiyle, c[m,n] hesaplanır.

Konumsal alanda hesaplanan konvolosyonda özellikle görüntü sınırlarındaki değerler hesaplanmaktadır. Buna karşın, Fourier alanı yaklaşımındaki temel felsefe görüntünün sınırları dışında periyodik olarak tekrarlandığı şeklindedir. Bu durum Şekil 3.7 b’de gösterilmiştir. Buna dairesel konvolosyon (circular convolution) adı verilmektedir. Eğer dairesel konvolosyon sonucu istenilen sonucu vermez ise, Şekil 3.7 ‘de elde edilen sonuç, a[m,n] görüntüsü ile ( Ω , Ψ ) filtresinin daha büyük matris elde edecek şekilde iç içe geçirilmesi ile istenilen sonuç elde edilebilmektedir.

(19)

3.2.4. Düzeltme İşlemleri:

Bu işlemler, görüntü üzerinde oluşan kirlilikleri düzeltmeyi ve/veya görüntüyü segmentasyon gibi sonraki işlemlere hazırlamayı amaçlar. Bu bölümde lineer ve lineer olmayan filtreler üzerine durulmaktadır. Ayrıca filtrelerin dikdörtgen formda veya dairesel formda olmalarına göre avantajları veya dezavantajları üzerinde de durulmaktadır.

3.2.4.1. Lineer Filtreler:

Uniform (değişmez şekilli) Filtreler: Bu filtreler çıktı olarak, giriş filtresinin değerinin ortalamasını almaktadırlar. Filtre içerisindeki tüm katsayılar aynıdır. Aşağıda dikdörtgensel ve dairesel iki uniform filtre görülmektedir.

                = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 25 1 ] , [ kj hdikt                 = 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 21 1 ] , [ kj hdaire

Şekil 3.8. a) Dikdörtgensel bir filtre (j=k=5) b) Dairesel bir filtre (R=2,5)

Her iki formda da filtreler normalize edilmektedir. Yani

h[j,k]= 1 olmaktadır. Bunun amacı, giriş değeri olan a[m,n] sabitse, çıkış değeri c[m,n]’nin de sabit olmasını sağlamaktır.

Üçgensel Filtreler: Çıkış resmi, tüm resmin, ağırlıkları farklı bir filtreden geçmesi sonucu elde edildiği filtrelerdir. Bu filtreler, özdeş iki dairesel veya dikdörtgensel uniform filtrenin üst üste bindirilmesi sonucu oluşmuş gibi görünmektedir. Bu tür lineer filtrelerin hesaplama karmaşıklığı daha fazladır. Bu tür filtrelerin negatif kısımları yoktur. Bu filtrelerde uniform filtreler gibi normalize edilmektedirler.

(20)

                = 1 2 3 2 1 2 4 6 4 2 3 6 9 6 3 2 4 6 4 2 1 2 3 2 1 81 1 ] , [ kj hdikt                 = 0 0 1 0 0 0 2 2 2 0 1 2 5 2 1 0 2 2 2 0 0 0 1 0 0 25 1 ] , [ kj hdaire

Şekil 3.9. a) Piramid filtre (j=k=5) b) Konik filtre(R=2,5)

Gaussian Filtreler: Son dönemlerde düzeltme işlemleri için oldukça sık kullanılmaya başlanan bir filtre tekniğidir. Bunun nedeni, kenar çıkarma ve uzaysal analiz işlemlerinde kullanılıyor olmasıdır. Eşitlik 12. de gösterilmiştir.

        •         = =         − −         − − 2 2 2 2 2 2 2 2 1 2 1 ) , ( ) , ( σ σ πσ πσ y x D x y e e g y x h (12) = g1D(x)•g1D(y)

Gaussian uygulamalarında 4 ayrı yol izlenmektedir:

Sonlu sayıda Gaussian örneğini konvolosyon çekirdeği olarak kullanmak suretiyle, burada geçen sonlu sayıdaki Gaussian örneği (sampling)(No)ile gösterilirse,

(No) ‘ın No =

 

3σ ya da

 

5σ şeklinde olabilecek seçimi en çok kullanılanıdır.

         =         − − 0 2 1 ] [ 2 2 2 1 σ πσ n D e n g      > ≤ o o N n N n (13)

Konvolosyon çekirdeği olarak uniform filtre kullanmak suretiyle tekrarlı konvolosyon işlemi eşitlik 14.’deki gibi gösterilmektedir.

(21)

] [ ] [ ] [ 1 u n un u n gD ≈ ⊗ ⊗         + = 0 ) 1 2 ( 1 ] [ 0 N n u      > ≤ o N n N n | | | | 0 (14)

Her bir boyuttaki gerçek gerçekleştirim eşitlik 15. deki şekilde olmaktadır. ] [ ]) [ ]) [ ] [ (( ] [n a n u n u n u n c = ⊗ ⊗ ⊗ (15)

Bu gerçekleştirim merkez limit teoremi aracılığı ile yaklaşıklık özelliğini belirtmektedir. Eşitlikteki bir değeri

σ

için, No =

 

σ

şeklindeki kullanım

σ

seçimimizi tamsayı kullanmaya zorlamaktadır. Frekans alanında çarpım:

Gaussian’ın Fourier dönüşümünün yine bir Gaussian olması (Ω,Ψ)=G2D(Ω,Ψ) şeklinde bir filtre kullanılabilmesini sağlar. Bu durumda, frekans

alanındaki yuvarlatma etkilerinden kaçınmak için

σ

değerini mümkün olduğu kadar büyük seçilmesi gerekmektedir. σ >k/π için (k=3 ya da 4) genelde arzu edilen sonucu vermektedir.

Tekrarlı filtre uygulaması:

Tekrarlı bir filtre sonsuz impulse cevabına sahip olduğundan, bu da sonsuz bir destek sağlamaktadır. σ>= 0.5 için ayrıştırılabilir Gaussian filtresi aşağıdaki adımların her boyutta uygulanması ile beraber elde edilebilmektedir.

i-) σ , arzu edilen filtrelemeye göre uygun bir değerle seçilmelidir.

(22)

iii-)Eşitlik 17. vasıtasıyla filtre katsayıları ; {b0,b1,b2,b3,B} hesaplanır. iv-) İleri fark eşitliğinde (eşitlik 17.) değerler yerine konur.

v-) Geriye doğru fark eşitliğinde (eşitlik18.) değerler yerine konur. Arzu edilen bir σ , ve q arasındaki ilişki;

   − − − = σ σ 26891 . 0 1 14554 . 4 97156 . 3 96330 98711 . 0 q    ≤ ≤ ≥ 5 . 2 5 . 0 5 . 2

σ

σ

(16)

Filtre katsayıları eşitlik 17. ile bulunur;

0 3 2 1 3 3 3 2 2 3 2 1 3 2 0 / ) ( 1 422205 . 0 ) 26661 . 1 ( ) 4281 . 1 ( ) 26661 . 1 ( ) 85619 . 2 ( ) 44413 . 2 ( ) 422205 . 0 ( ) 4281 . 1 ( ) 44413 . 2 ( 57825 . 1 b b b b B q b q q b q q q b q q q b + + − = = − − = + + = + + + = (17)

Tek boyutlu ileri fark eşitliği giriş olarak a[n] şeklinde bir satır ya da sütun değeri alır ve çıkış olarak w[n] şeklinde bir değer üretmektedir.

0 3 2 1 [ 1] [ 2] [ 3])/ ( ] [ ] [n Ban b wn b wn b wn b w = + − + − + − (18)

Tek boyutlu geriye doğru fark eşitliği w[n] ara değerini giriş olarak alır ve sonuçta c[n] çıkışını aşağıdaki formül vasıtasıyla üretilmektedir.

0 3 2 1 [ 1] [ 2] [ 3])/ ( ] [ ] [n Bwn bcn b cn b cn b c = + − + − + − (19)

İleri yön eşitliği n=0 ‘dan n=N-1’e kadar uygulanırken, geriye doğru eşitlik n=N-1‘den n=0’a kadar uygulanmaktadır. Gaussian filtrenin çeşitli uygulamalarının performans kriterleri

+∞ −∞ = − n g n h n 2 ] [ ] |

[ σ eşitliği gibi, kök-kare (root-square) hata formülü, g[n|σ ] gibi sonsuz-sınırlı (infinite-extent) ve yaklaşık bir h[n] Gaussian

(23)

fonksiyonları arasında uyguladığında yukarıda bahsedilen algoritmaların sonuçları Şekil 28.a’daki gibi gösterilebilmektedir. Algoritmaların birbirlerine göre hızları (relative speeds) ise Şekil 3.10.b’deki gibidir.

(a)Doğruluk karşılaştırılması (b) Hız karşılaştırılması

Şekil 3.10. N=255 olduğu durumda çeşitli gaussian algoritmalarının karşılaştırılması.

Tekrarlı (recursive) uygulamalar bu tür filtrelerde en hızlı olanlarıdır. FFT uygulaması, örneğin, N=256 için en az 3 kat daha yavaş sonuç vermektedir. Dahası, FFT uygulamalarında N’nin yüksek komposit (composit) sayı olması istenmektedir.

Diğer Filtreler:

Fourier alanı yaklaşımı çeşitli düzeltme algoritmalarını uygulama açısından çeşitli yararlar sağlamaktadır. Buna örnek olarak alçak geçiren filtreler verilebilir. Genelde alçak geçiren filtreler sıfır faza sahip görüntülerde kullanılmaktadır. Böylece, görüntü filtrelendiğinde faz distorsiyonu (bozulması) önlenmiş olunur. Frekans alanı karakteristikleri analitik formda temsil edildiğinde, bu durum direkt (Ω,Ψ) şeklinde alçak geçiren olarak kullanılabilecek filtrelere “airy” ya da “exponential decay” olarak kullanımları örnek gösterilebilmektedir.

(24)

3.4.2.2. Lineer Olmayan Filtreler:

Geliştirilen bazı görüntü düzeltme amaçlı filtreler lineer olmayan özellik gösterir. Bu tür filtrelerin genelde Fourier analizi sağlıklı sonuçlar vermez. Bu türe giren filtrelerden bazılarına aşağıdaki bölümlerde açıklamalar getirilmiştir.

Ortanca Filtre:

Bir ortanca filtredeki mantık, bir çerçeve tipli filtrenin ele alınan görüntü boyunca hareket ettirilmesiyle çerçeve içerisindeki çıkış pikselinin oralama parlaklık (brightness) olarak hesap edilmesine dayanmaktadır. Eğer çerçeve JxK boyutunda ise, J*K kadar pikseli en küçük parlaklıktan en büyüğüne doğru sıralanır. Eğer J*K tek ise bu durumda ortalama değeri sıralanmış parçacıklar içinde (J*K+1)/2 girişi olur. Dikkat edilirse seçilen değer mevcut parlaklık değerlerinden birine eşit olmaktadır. Böylece düzeltme hatalarından bağımsız tamsayı parlaklık değerleri ile çalışma gibi önemli bir avantaj sağlanmış olur. Algoritmada piksel başına O(J*K*log(J+K))‘lık bir kompleks değer bulunmaktadır. Fakat hızlı algoritma (Fast Algorithm) kullanılarak bu değer, J>=K iken O(K) ‘ya dönüştürülebilmektedir.

Median filtresi üzerine önemli bir çeşidi yüzdelik filtredir. Bu filtrede, çerçevedeki merkez piksel %50 parlaklık değeri ile değil de %p parlaklık değeri ile yer değiştirmektedir. Buradaki p değeri 0’dan (minimum filtre), 100’e(maksimum filtre) kadar değer alabilmektedir. Fakat genelde, p = %50 değeri haricindeki değerler düzeltme (smoothing) filtresi olarak kullanılmaya uygun değildir.

Kuwahara Filtresi:

Görüntü algılanışı ve analizinde görüntünün uç noktaları önemli bir rol oynamaktadır. Çoğu durumda, görüntünün kalitesini ve uç bölgesini tahrip etmeden düzeltme işlemi arzu edilmektedir. İşte bu arzu edilen durumu yerine getiren filtreye Edge-Preserving filtresi adı verilmektedir. Kuwahara filtresi bu türden bir filtredir. Bu filtre çeşitli şekillerdeki çerçeveler için uygulanabilmesine rağmen algoritma boyutları K=K=4L+1 olan bir kareye uygulanması gerekektedir (L bir tamsayıyı ifade

(25)

etmektedir). Şekil 3.11’de gösterildiği gibi kare 4 bölgeye ayrılmaktadır.

Şekil 3.11. Kuwahara filtresi tarafından tanımlanan karesel 4 bölge.

Şekil L=1 ve J=K=5 için çizilmiştir. Her bir bölge [(J+1)/2] x [(K+1)/2] boyutlarındadır.

Her bir bölge için ( i=1,2,3,4 ) parlaklık mi ve varyans, si2 hesaplanır.

Çerçevedeki merkez (center) pikselin değeri en küçük varyansa sahip bölgenin yaklaşık değeridir.

3.2.4.3. Görüntü Düzeltme Algoritmalarına Özet Bir Bakış:

Aşağıdaki tablo önceki bölümlerde belirtilen çeşitli algoritmaların bir özetini içermektedir. Filtrenin JxK boyutunda ve genel olarak J ≥ K olduğu kabul edilmektedir. Görüntü büyüklüğü ise NxN pikseldir.

(26)

Algoritma

Alan Tip Destek

Ayrılabilir / Artan

Karmaşıklık/pixel

Uniform Konumsal Doğrusal Kare E / E O(sabit)

Uniform Konumsal Doğrusal Daierese l

H / E O(K)

Üçgensel Konumsal Doğrusal Kare E / H O(sabit) ª Üçgensel Konumsal Doğrusal Dairesel H / H O(K) ª Gaussian Konumsal Doğrusal

olmayan

∞ ª E / H O(sabit) ª

Median Konumsal Doğrusal olmayan

Kare H / E O(K) ª

Kuwahara Konumsal Doğrusal olmayan

Kare H / H O(J* K)

Diğer Frekans Doğrusal olmayan

-- -- / -- O(logN)

Çeşitli görüntü düzeltme algoritmalarının Şekil 3.11.a’daki orijinal görüntüye etkileri Şekil 3.12’da gösterilmektedir.

(27)

d) Median 5 x 5 e) Kuwahara 5 x 5

Şekil 3.12: Orjinal bir görüntüye çeşitli türden filtrelerin etkileri 3.2.5. Türev Tabanlı İşlemler:

Düzeltme gibi, resme uygulanan bir veya daha fazla konumsal türev işlemi de görüntü işlemenin temel işlemlerindendir. Bu işlem türünde ana sorun, türevin matematikteki gibi görüntüden alınamamasıdır. Çünkü sayısallaştırılmış bir resim, sürekli bir fonksiyon arz etmemektedir. Bunun yerine tam sayı koordinatlardan oluşan kesikli bir fonksiyonla ifade edilebilmektedir. Bu yüzden bu bölümde tanıtılacak algoritmalar gerçek sürekli görüntünün yaklaşık türevi olmaktadır.

Bir türev alma işlemi, sinyal spektrumunun u veya v ile çarpılmasıdır. Bunun anlamı ise yüksek frekanslı gürültülerin sonuç görüntüsünde vurgulanması anlamına gelmektedir. Bu sorunun üstesinden gelmenin yolu bir türev algoritması ile düzeltme işlemini kombine etmektir.

3.2.5.1. Birinci Türev:

Sayısal bir görüntünün iki veya daha fazla değişkenli türev olduğu düşünülürse, türevin hangi yönde alınacağı belirlenmelidir. İki boyutlu durum için dikey ve yatay olmak üzere iki türev yönü vardır. Eğer hx kullanılırsa bu yatay türev filtresinin (matrisinin) kullanılacağını, eğer hy kullanılırsa dikey türev filtresinin ve eğer hө kullanılırsa belirli bir eğim filtresinin kullanılacağını belirtmektedir. Bu durum eşitlik 20. ile ifade edilebilmektedir (Jahne 2002).

] [ sin ] [ cos hx hy hθ = θ• + θ• (20)

(28)

Eğim Filtreleri: Vektör türev tanımı yapmak da mümkündür. a[m,n] şeklinde gösterilir ve eşitlik 21. şekilde formüle edilebilmektedir.

y y x x y x a i h a i h a i y a i x a ) ( ) ( ⊗ + ⊗ = ∂ ∂ + ∂ ∂ = ∇ (21)

Bu formülde ix ve iy değişkenleri yatay ve dikey yöndeki birim vektörlerdir. Bu durum eşitlik 22. ve eşitlik 23. ile ifade edilmektedir.

Eğim büyüklüğü: ( )2 ( )2 a h a h a = x ⊗ + y ⊗ ∇ (22) Eğim yönü:       ⊗ ⊗ = ∇ ) ( ) ( arctan ) ( a h a h a x y ψ (23)

Eğim büyüklüğü yaklaşık olarak eşitlik 24. şekilde de ifade edilebilmektedir.

| | | |h a h a ax ⊗ + y ⊗ ∇ (24)

Bu hesaplamaların sonuçları büyük oranda hx ve hy seçimine bağlıdır. Aşağıda hx ve hy için birkaç seçenek sunulmuştur.

Basit Türev Filtreleri: Bu filtreler eşitlik 25. ile ifade edilmektedirler.

] 1 0 1 [ ] [ ] )[ ] 1 1 [ ] [ ] )[ − = = − = = t y x t y x h h ii h h i (25)

Burada “t” matrisin transpozesini belirtmektedir. Bu iki filtre fourier büyüklüğü ve fourier faz karakteristikleri olarak birbirlerinden ayrılmaktadır. Frekans büyüklüğü

π ≤ Ω ≤

0 için eşitlik 26. ve eşitlik 27. ile verilmektedir.

2 / ) ( ) ( |; ) 2 / sin( | 2 | ) ( | ] 1 1 [ ] )[h = − ↔ H Ω = Ω ϕ Ω = π −Ω i F (26)

(29)

F

H h

ii)[ ]=[1 0 −1]↔ (Ω)|=2|sinΩ|;ϕ(Ω)=π/2 (27)

Eşitlik 27. yüksek frekanslı durumların sıkıştırılması sağlarken eşitlik 26. sağlamamaktadır. Eşitlik 26. faz kaydırmaya dayanırken, ikinci form bunu sağlamamaktadır.

Prewitt Eğim Filtreleri: Bu filtreler eşitlik 28 ve eşitlik 29. ile ifade edilmektedirler.

[

1 0 1

]

1 1 1 3 1 1 0 1 1 0 1 1 0 1 3 1 ] [ • −           =           − − − = x h (28)

[

1 1 1

]

1 0 1 3 1 1 1 1 0 0 0 1 1 1 3 1 ] [ •           − =           − − − = x h (29)

Tekrar hx ve hy ayrılabilirdir. Her iki filtrede eşitlik 29’u kullanarak tek yönde türev almakta ve üçgensel filtrelerin tek boyutlu versiyonunu kullanarak düzeltme işlemi gerçekleştirmektedirler (Petrou ve Bosdogianni 2000).

Alternatif Eğim Filtreleri: Tek boyutlu sinyal işleme teknikleri, hx ve hy’nin tek boyutlu versiyonlarını oluşturmak için çok güçlü araçlar sağlamaktadır. Parks - McClellan filtre dizayn algoritmasını kullanarak, hangi frekans genişliklerinde türev alınacağına ve hangi frekans aralığında gürültünün sıkıştırılacağına karar verilebilmektedir. Bu gibi kararlar alındıktan sonra algoritma gerçek, tek ve ihtiyaçlarımızı karşılayan en küçük filtreyi üretmektedir.

Örneğin 0.0≤Ω≤0.3π aralığında türev alması, 0.32π ≤Ω≤π aralığında ise türevi kesmesi istenen filtre algoritma tarafından eşitlik 30. kullanılarak oluşturulmaktadır.

(30)

] 3571 8212 15580 0 15580 8212 3571 [ 16348 1 ] [ ] [ = t = − − − y x h h (30)

Gaussian Eğim Filtreleri: Modern görüntü işlemede düzeltme işlemleri için sıklıkla kullanılan gaussian filtreler, türev amacıyla da kullanılmaktadır. İlk olarak rekürsif gaussian filtre kullanılmakta, sonraki adımda ise düzeltilmiş hx ve hy türev filtreleri elde edilmektedir. Hesaplama maliyetini düşürmek için bu iki adım eşitlik 31. ve eşitlik 32. gibi birleştirilmiştir.

0 3 2 1 [ 1] [ 2] [ 3])/ ( ]) 1 [ ] 1 [ ( 2 ] [n B a n a n bw n b wn b wn b w  + − − + − + − + −      = (31) 0 3 2 1 [ 1] [ 2] [ 3])/ ( ] [ ] [n Bwn bcn b cn bcn b c = + + + + + + (32)

Eşitlik 31. n=0 dan n=N-1’e doğru hesaplanırken eşitlik 32. n=N-1’den n=0’a doğru hesaplanmaktadır.

Aşağıda değişik türev işlemlerinin sonuçları gösterilmiştir:

a) Basit Türev b) Sobel c) Gaussian (σ=1.5) Şekil 3.13 hx için basit türev uygulamaları

(31)

a) Basit Türev b) Sobel c) Gaussian (σ =1.5) Şekil 3.14. Eğim büyüklüğü için değişik algoritmalar.

Resimde güçlü kenarlar varsa eğim büyüklüğü büyük değer alır. σ değerinin doğru seçilmesi halinde Gaussian tabanlı filtreler türev işlemi yapan filtreler arasında en idealidir.

3.2.5.2. İkinci Türev:

İki değişkenli bir fonksiyonun birden fazla derecede türevini almak mümkündür. İkinci dereceden türev Laplacian olarak da bilinmektedir. Laplacian eşitlik 33. gibi ifade edilmektedir:

) ( ) ( 2 2 2 2 2 2 2 a h a h y a x a a = x ⊗ + y ⊗ ∂ ∂ + ∂ ∂ = ∇ (33)

h2x, h2y ikinci derece türev filtreleri olmak üzere, frekans alanında Laplacian filtresi eşitlik 34. ile ifade edilmektedir.

) , ( ) ( 2 2 2 v u A v u a F + − ↔ ∇ (34)

Laplacian transfer fonksiyonu bir paraboldür: (u,v) = -(u2 + v2).

Basit ikinci derece türev filtresi: Bu filtre eşitlik 35. ile ifade edilmektedir.

] 1 2 1 [ ] [ ] [ 2 = 2 = − t y x h h (35)

(32)

Bu filtre için her iki yöndeki frekans spektrumu −π ≤Ω≤π aralığında eşitlik 36. gibi ifade edilmektedir.

) cos 1 ( 2 } 1 2 1 { ) (Ω = F − =− − Ω H (36)

İki tane tek yönlü filtre kullanılabileceği gibi, bir tane iki yönlü filtrede kullanılabilmektedir           − = 0 1 0 1 4 1 0 1 0 ] [h . (37)

Frekans Alanı Laplacian: Bu filtre eşitlik 38. ile ifade edilmektedir:

)} , ( ) ( { ] , [ 1 2 2 Ψ Ω Ψ + Ω − = FA n m c (38)

Gaussian İkinci Derece Filtre: Bu düz uygulanan bir Gaussian filtredir. Yani bağımsız olarak her iki yöne de uygulanabilmektedir. İlk olarak probleme göre belirlenen bir σ değeri için Gaussian düzeltme filtresi uygulanmaktadır. Bu işlemden sonra ikinci derece türev filtrelerinden biri uygulanmaktadır. Bu aşamadan sonra değişik Gaussian filtrelerinden herhangi biri seçilebilmektedir.

Hesaplama maliyetini düşürmek için, düzeltme ve türev alma filtresi eşitlik 39. ve eşitlik 40.’da olduğu gibi birleştirilebilmektedir:

0 3 2 1 [ 1] [ 2] [ 3])/ ( ]) 1 [ ] [ ( ] [n B a n a n bwn b wn b wn b w = − − + − + − + − (39) 0 3 2 1 [ 1] [ 2] [ 3])/ ( ]) [ ] 1 [ ( ] [n B w n wn bcn b cn b cn b c = + − + + + + + + (40)

Burada da, eşitlik 39. n=0 dan 1’e uygulanırken eşitlik 40 tam tersine n=N-1’den n=0’ a uygulanmaktadır.

Alternatif Laplacian Filtreleri: Tekrar tek boyutlu sayısal filtre tasarlama teknikleri bize probleme özel filtre tasarlamada yardımcı olmaktadır. Parks - McClellan

(33)

tasarım algoritmasına göre hangi frekans aralığında ikinci derece türev alınacağına ve hangi aralıkta sesin bastırılacağına karar verilebilir. Algoritma tek ve isteklerimize uyan en küçük boyutlu filtreyi üretecektir.

Örneğin 0,0≤Ω≤0.3π aralığında türev alınmasını ve 0.32π ≤Ω≤π aralığında ise türev almayı durdurmak için eşitlik 41. kullanılmaktadır.

] 3448 10145 1495 16383 1495 10145 3448 [ 11043 1 ] [ ] [ = t = − − − y x h h (41)

Eğik Yönde İkinci Derece Türev Filtresi: Bu filtre özellikle nesne belirleme ve kenar çıkarma işlemi için uygundur. Filtre eşitlik 42.’deki beş kısmı türevi kullanır.

y a A y a A y x a A x a A y x a A x a A y yy yx x xy xx ∂ ∂ = ∂ ∂ = ∂ ∂ ∂ = ∂ ∂ = ∂ ∂ ∂ = ∂ ∂ = 2 2 2 2 2 2 (42)

Burada Axy = Ayx olduğuna dikkat edilmelidir. Filtre bu beş kısmi türevi eşitlik 43. gibi birleştirmektedir: 2 2 2 2 2 ) ( y x y yy y x xy x xx A A A A A A A A A a EYIDT + + + = (43)

Bu kadar çok kısmi türev bu filtrenin gürültü bastırma amaçlı olduğunu göstermektedir. Bu filtreden sonra mutlaka Gaussian birinci ve ikinci derece filtreleri uygulanmalıdır. Aynı zamanda birinci ve ikinci derece türev filtreleri aynı çalışma ve durma aralığına sahip olmalıdır. Bunun anlamı h1x=[1 0 -1] olarak verilen bir birinci derece türev filtresinin ikinci derece türev filtresi h1x ⊗ h1x = h2x = [1 0 −2 0 1] şeklinde olmalıdır.

Şekil 3.15’de değişik ikinci derece türev uygulamaları görülmektedir. Tüm resimler görüntü kalitesini arttırmak için “kontrast uzatma” işlemi uygulanmıştır ve başlangıç %1 bitiş %99 olarak belirlenmiştir.

(34)

a) Laplacian b) Fourier parabol c) Gaussian (σ =1.0)

a) Alternatif filtre b) SDGD (σ=1.0)

Şekil 3.15. Laplacian ve Laplacian ile alakalı değişik filtrelerin uygulaması. 3.2.5.3. Diğer Filtreler:

Görüntü işleme için lineer ve lineer olmayan sonsuz sayıda filtre mevcuttur. Uygulamamız için en uygun filtreye karar vermek için öncelikle birkaç küçük resim üzerinde test edilmelidir. Bir filtrenin hangi büyüklükte kullanılacağı, görüntü üzerine ne gibi etkilerinin olacağı, kenarları nasıl belirleyeceği gibi özellikleri görmek için sinüs değişimi gösteren resim veya dalga üzerinde test etmek uygun olacaktır. Şekil 3.16.’da test amacıyla kullanılan bir görüntü üzerinde değişik filtreler kullanılmıştır.

(35)

(a) Lowpass filtre (b) Bandpass filtre (c) Highpass filtre Şekil 3.16. Sinüzoidal test resmine uygulanmış konvolosyon işlemleri.

(36)

3.3. Kenar Bulma Teknikleri:

Eşik değeri belirleme işlemi ile bir nesneye ait olabileceği düşünülen piksellerin çıkarılması amaçlanmaktadır. Bu metoda alternatif bir diğer metot ise nesnenin sınırlarına ait pikselleri tespit etmektir. Bu amaçla oluşturulan tekniklere “kenar çıkar teknikleri” denir.

3.3.1. Eğim Tabanlı İşlem:

Kenar bulma işleminde en büyük amaç, nesneyi çevreleyen kapalı dış hatları tespit etmektir. Bunun için eğimler hesaplanmalı ve uygun bir eşik değeri tespit edilmelidir.

Şekil 3.13. Isodata eşikleme metodu ile kombine çalışan Sobel eğimine göre kenar çıkarma.

3.3.2. Sıfır Geçiş Tabanlı İşlem:

Gürültü resimlerde, kenar çıkarmanın daha modern bir yolu Laplacian metodu ile üretilen sıfır geçişlerinin hesaplanmasıdır. Metoda ideal kenar modeli için adım fonksiyonu çıkartarak başlanmaktadır.

(37)

Şekil 3.14. Laplacian ikinci türevini kullanarak sıfır geçiş metodu ile kenar çıkarma.

Bu grafiğe göre kenarın yeri, Laplacian’ın işaret değiştirdiği, yani sıfır geçişi yaptığı noktadır. Laplacian ikinci derece türev gerektirir ve bunun sonucu olarak yüksek frekanslı uzaysal frekanslarda gürültü artmaktadır. Bu artan kirliliği azaltmak ve sıfır geçişlerini sağlıklı hale getirmek için bir düzeltme (smooting) gerekmektedir.

Canny metoduna göre uygun bir düzeltme filtresinin aşağıdaki özellikleri sağlaması gerekmektedir.

— Filtre (u,v) veya (Ω,Ψ), frekans alanında, yüksek frekanslı gürültüleri bastırmak için mümkün olduğunca dar olmalıdır.

— Konumsal Alan (x,y) veya [m,n], filtre kenarın yerini belirlemek adına mümkün olduğunca dar olmalıdır.

Bu özellikleri sağlayan, minimum bant genişliğine ve minimum uzaysal genişliğe sahip düzeltme filtresi Gaussian filtredir. Bunun anlamı, Laplacian işleminden sonra, uygun bir σ değeri için resim Gaussian filtre kullanılarak düzeltilmelidir.

(44)

Bu formüldeki türev işlemi, doğrusal ve değişme özelliğine sahiptir. Yani operatörlerin yerleri değiştirilebilir veya tek filtre olarak birleştirilebilir. Bu ikinci

} 0 )} , ( ) , ( { | ) , {( )} , ( { 2 2 = ⊗ ∇ = x y g x y a x y y x a SG D

(38)

yaklaşım Marrildreth’in “Laplacian of Gaussian” (LoG) filtresini çıkarır: } 0 ) , ( ) , ( | ) , {( )} , ( { = ⊗ = = a x y x y LoG x y a x y SG (45) öyle ki; ) , ( 2 ) , ( ) , ( 4 2 2 2 2 2 y x g y x g y x y x LoG D D σ σ − + = (46)

Dairesel simetri ile formül eşitlik 47. şeklinde de yazılabilir:

) 2 / 2 ( 6 2 2 2 2 2 ) ( σ πσ σ r e r r LoG  −      = (47)

Bu kimi zaman, “Meksika şapkası filtresi” olarak adlandırılan iki boyutlu konvulasyon filtresi şekil 3.15 de gösterilmektedir.

Şekil 3.15. σ= 1.0 için LoG filresi 3.3.3. Artı Tabanlı İşlem:

Sıfır geçiş işlemleri arasında en doğru çalışan filtre Verbeek ve Van Vliet tarafından geliştirilen PLUS (artı) filtresidir. Filtre eşitlik 48.’de gösterilmiştir.

(39)

) ( ) ( ) (a EYIDT a Laplace a ARTI = + 2 2 2 ( ) 2 2 yy xx y x y yy y x xy x xx A A A A A A A A A A A + +         + + + = (48)

Resmin bu filtre ile çarpıldıktan sonra resim, sonucu çıkarmak için eşiklenir (thresholded). İşlem şu şekilde ilerlemektedir.

Şekil 3.16. Sıfır geçiş tabanlı kenar belirleme için genel strateji

Bu iki kenar sıfır geçiş tabanlı belirleme yöntemine göre sonuçlar LoG filtreleme ve artı filtreleme sonuçları gürültü oranı 20 dB olan resimde aşağıdaki Şekil 3.17.’de gösterilmektedir. (http://www.ph.tn.tudelft.nl/Courses/FIP/noframes/fip-Contents.html)

(40)

a) Gürültü= 20 dB b) LoG filtre c) PLUS filtre

Şekil 3.17. LoG ve PLUS (artı) sıfır geçiş metotlarını kullanarak kenar çıkartma algoritmaları. Her iki algoritmada σ = 1.5.

(41)

3.5. Vektörizasyon:

Vektörizasyon ızgara formundaki resmin vektör formatına çevrilmesi işlemidir. Izgara formundaki resim piksellerden oluşmaktadır. Vektör formundaki dokümanlar ise çizgi, eğri gibi geometrik şekillerden ve bu şekillerin koordinatlarını içeren bilgilerden oluşmaktadır. Yakınlaştırılmış bir vektör dokümanı, daha çok ayrıntı içerir ve çizgiler daha düzgün görünmektedir. Vektör çizimler, CAD ve GIS sistemleri gibi doğruluğun önemli olduğu uygulamalarda kullanılmaktadır. Bu yüzden ızgara formundaki resimler vektör çizimlere çevrilmektedir.

Izgara formundaki resmin doğası gereği, doğruluk bakımından eksiklikleri bulunduğu için, ızgara formundan vektör formuna çevirme işlemi sırasında, vektör tanımlama ve koordinat belirleme konusunda çok değişik yollar bulunmaktadır.

Vektörizasyon işleminden önce, ızgara formundaki resme uygulanacak şu işlemler vektör çıkarma işlemini daha doğru hale getmektedir.

— Renkleri Gri Değere Çevirme: Renkleri gri değer çevirmek, ızgara formundaki resimdeki rengi, karşılığı olan gri değerle değiştirmek anlamına gelmektedir. Vektörizasyon, gri değere çevrilmemiş resimlerde çok kötü sonuçlar verebilmektedir. Vektörizasyondan önce gri değere çevirme işlemi yapılırsa vektörizasyon işlemi daha doğru bir şekilde sonuçlanabilir. Bundan başka, vektörizasyon metotları hangi pikselin önemli, hangisinin arka fon olduğunu belirleme yöntemlerine göre, çok farklı sonuçlar çıkarabilmektedirler.

— Negatifleştirmek: Negatifleştirmek, resimdeki tüm renkleri fotografik olarak zıtları ile değiştirmek anlamına gelmektedir. Bu işlem ozalit çıktı gibi, orijinal çıktının üzerindeki çizgilerin, arka fon renginden daha açık renkte olduğu çizimlerde kullanılmaktadır. Ayrıca negatifleştirme işlemi, basit siyah beyaz bir resimde kenar çıkarma işlemleri yaparken de yararlı olabilmektedir. Çünkü negatifleştirilen bir resme kenar çıkarma uygulandığında, resme ait iç kenarlar yerine, dış kenarları tespit

(42)

edilebilmektedir.

— Parlaklığı Ayarlamak: Izgara formundaki bir resmin parlaklığı ile oynamak vektörizasyonun verimini bir anda arttırabilmektedir. Çünkü bazı pikseller arka fona karışır veya tam tersi, çizgi olarak görünmeyen pikseller daha belirginleşerek vektörizasyon işlemi tarafından bulunması sağlanabilmektedir.

— Temizleme: Temizleme işlemi, etrafı arka fon pikselleri ile çevrilmiş, belli büyüklükteki pikselleri silme işlemidir. Temizleme işlemi, tarama işlemi sırasında ortaya çıkan ve resme ait olmayan noktacıkları temizlemede işe yaramaktadır. Vektörizasyondan önce temizleme işlemi yapılması, hem doğru vektörlerin çıkarılması hem de vektör dokümanının boyutunun küçülmesini sağlamaktadır.

Vektörizasyon Adımları:

Izgara formdaki bir resimden vektörleri çıkarmak için, resmin hangi bölümünde çizgi olduğunu ve bu çizginin nerede başlayıp nerede bittiğini bulmak gerekmektedir. Örneğin insan gözüyle kolayca tespit edilebilen çizgiler, aslında farklı piksel kalınlığında, zaman zaman arka fonla rengi karışan bir çizgi olabilmektedir. Genel olarak dört tane vektörizasyon metodundan bahsedilebilmektedir.

— Kavisli çizgileri vurgulama metodu. — Düz çizgileri vurgulama metodu — İç kenar çıkarma

— Canny kenar çıkarma

Kavisli veya düz çizgileri vurgulama metotları, çizgileri kalın bölgelerin ortasından oluştururken, iç ve Canny kenar çıkarma yöntemleri çizgileri kalın bölgelerin dışından çıkarmayı amaçlamaktadır.

(43)

Kavisli çizgileri vurgulama metodu, eğimli çizgileri iyi izleyerek daha doğru bir vektörizasyon sonucu çıkarması ile öne çıkmaktadır.

Düz çizgileri vurgulama metodu ise düz çizgileri bulma konusunda daha başarılıdır. Bu yüzden, çoğunlukla düz çizgiler içeren bir resimde bu yöntemin kullanılması daha doğru olacaktır.

İç kenar çıkarma ise, çizim gibi iki renk içeren resimlerde üstün performans sergilemektedir. Buna karşın Canny kenar çıkarma metodu ise, renkli şekillerde daha iyi sonuç vermektedir. İç kenar çıkarma iki alanı olan katı şekillerin vektörizasyonunda daha çok tercih edilmelidir. Diğer taraftan Canny kenar çıkarma metodu da şekillerin kenarlarına bakmakla birlikte, katı renk geçişleri olan alanlarda bu yöntem kullanılmaktadır.

Izgara formundaki resmin doğası gereği, kanar vektörizasyonu rafine edilerek, düz çizgileri vurgulama metodu veya kavisli çizgileri vurgulama metodunun prensiplerine göre nesne sınırları belirlenebilir ve resmi vektörize etmek için gerekli olan vektör sayısı azaltılabilir. Bu iki metodun prensipleri kullanılmadığında ise birkaç pikselden oluşan çizgiler oluşacak ve bir düz çizgi birden çok çizgi olarak ifade edilmek zorunda kalacaktır. Canny metodu kenar çıkarma işlemi sırasında çok fazla hafıza harcamaktadır. Bu yüzden büyük resimlerdeki hafıza yetersizse sorun çıkartabilmektedir. Canny metodunun aksine, iç kenar çıkarma metodu fazladan bir hafıza harcamamakta, daha hızlı ve daha açık sonuçlar üretmektedir. Bununla birlikte bu yöntem çok sayıda, küçük vektörler üreterek vektör dosyasının büyümesine sebep olmaktadır.

Canny metodu, iç kenar çıkarma metoduna göre daha çok matematiksel işlem yaparak kötü tanımlanmış şekilleri tanımlamaya çalışır. Bu gibi zor kenarları bulmak için bazı değerler elle müdahale yapılabilir. Örneğin:

— Kenar pikselin renk keskinliği belirlenebilir.

(44)

Renkli bölgelerdeki kenarları mümkün olduğunca doğru yerleştirebilmek için, ek kenar analiz yöntemleri belirlenmiştir. Bu yöntemlerden biri, bulunan kenardaki renk keskinliğini “Gaussian Standart Sapması” ile hesaplamaktır. Bu değer test edilen kenardaki piksellere dağılımını belirlemektedir. Bu değerin küçük olması renk değerleri arasında az fark olduğunu göstermektedir. Bu değerin büyük olması ise daha çok renk düzenlemesi yapmayı gerektiğini gösterir.

Diğer bir analiz ise kenar piksellerinin eşik değerlerini belirlemektir. Bu işlem kenar çıkarmadan önce yapılacak bir işlemdir. Bu işlemde en yüksek ve en düşük gri değeri olmak üzere iki değişken kullanılmaktadır. Üst değerin yüksek tutulması kenar, bulunan kenar sayısını ve ayrıntıyı arttırırken, çok fazla ayrıntılı bir sonuç üretebilmektedir. Alt sınırın yüksek tutulması ise çizgilerin kesik kesik ve tamamlanamamış şekilde bulunmasına sebep olabilmektedir (http://www.parallax69software.com/vectorize.htm).

(45)

4. VEKTÖRİZASYON İŞLEMİNDE KULLANILAN YÖNTEM VE ARAÇLAR

Vektörizasyon işlemini gerçekleştirmek için hazırlanan uygulama Visual C# dili kullanılarak geliştirilmiştir. Proje Pentium Centrino Mobile 1.73 MHz hızında işlemci ve 512 MB ram içeren bilgisayarda gerçekleştirilmiştir.

Programda kullanılan bina resimleri 2 mega piksel çözünürlüğünde KODAK EASYSHARE CX6200 dijital fotoğraf makinesi ile çekilmiştir.

Proje genel olarak üç ana kısımdan oluşmaktadır. Bunlar Ön işleme, Vektörizasyonda Kullanılan Algoritma ve DXF formatına çevirmedir. Yapılacak işlemlerin algoritması aşağıda verilmiştir.

Şekil 4.1: Algoritma akış şeması Resmin Açılması

Resmi Gri seviyeye Dönüştürme

Median Filtre Uygulanması

“Türev Tabanlı” Kenar Çıkartma Uygulanması

Vektörizasyon Algoritmasının Uygulanması

Sonucun DXF Formatına Dönüştürülmesi

(46)

4.1 Ön İşlemler

Projede kullanılan ön işlemler, elimizdeki resmin işlenmeye hazır hale getirilmesi için uygulanmaktadır. Bu işlemler aşağıda sırasıyla anlatılmaktadır.

4.1.1 Resmi Gri Değere Çevirme

Önişlem adımlarından ilki resmin gri değere dönüştürülmesidir. Resim gri değere aşağıdaki formülle dönüştürülür.

Ry yeni kırmızı değeri, Re eski kırmızı değeri Gy yeni yeşil değeri, Ge eski yeşil değeri By yeni mavi değeri, Be eski mavi değeri Ry = (Re + Ge + Be) / 3

Gy = (Re + Ge + Be) / 3 By = (Re + Ge + Be) / 3

(47)

Şekil 4.2.Gri değere dönüştürülmemiş resim

(48)

4.1.2 Ortalama Filtre:

Görüntü üzerindeki gürültüleri yok etmek için ortalama filtresi uygulanmıştır. Aşağıda ortalama filtre uygulanmış ve uygulanmamış iki resim görülmektedir.

Şekil 4.4. Median Filtre uygulanmamış resim

(49)

Bu filtre resme iki kere uygulanarak resim üzerinde algoritmanın çalışmasını bozacak gürültü pikselleri temizlenmektedir

4.1.3 “Türev Tabanlı” Kenar Bulma:

Resme median filtre uygulandıktan sonra kenar bulma aşamasına geçilir. Bu aşamada resimdeki tüm kenarların bulunması ve kenara ait piksellerin 1 diğer piksellerin 0 olarak işaretlenmesi gerekmektedir. Kenar bulma algoritması için türev tabanlı filtreler kullanılarak resme ait kenar pikselleri 0–255 parlaklık değeri aralığında belirlenir.

Bunun için ∂x ve ∂y hesaplanır.

∂x = 2 1

[1 0 -1] matrisi ile hesaplanır.

∂y = 2 1           −1 0 1 ile hesaplanır.

Sonuç pikseli ise ( 2 2

) ( x)

(∂ + ∂y ) ile hesaplanır.

Aşağıda orijinal resim ve türev tabanlı kenar çıkarma algoritması kullanılmış iki resim gösterilmiştir.

(50)

Şekil 4.6. Türev tabanlı kenar çıkarma uygulanmamış resim

(51)

4.2 Vektörizasyon Algoritması

Tüm önişlemler bittikten sonra projenin temelini oluşturan vektörizasyon algoritmasına geçilmektedir. Bu aşamada amaç, bir çizgi pikseli yakalayıp bu çizgiyi izlemektir. Algoritmanın bu adımında, türev tabanlı kenar çıkarma algoritması uygulanmış resim gelmiştir. Yani 0-255 gri değer aralığına dönüşmüş bir resim üzerinde işlem yapılacaktır. Burada bir pikselin işlenebilmesi için minimum değerinin “4” olması gerekmektedir. Bu değerin altındaki pikseller çizgi veya kenar pikseli olarak kabul edilmemektedir. Çizgi pikselleri daha yüksek değerlere, diğer pikseller ise daha düşük değerlere sahiptir. Bu özelliği kullanarak belli bir sınır değerinin üstündeki pikseller izlenmeye başlanır. Algoritmanın akış diyagramı aşağıdaki gibidir.

1. Resim dosyası program arayüzü ile açılır. Resme yukarıda anlatılan ön işlemler yapıldıktan sonra, gri değere çevrilmiş durumdadır. Resme ait gri değere sahip pikseller bir diziye atılarak üzerine işlem yapılması kolaylaştırılır. Resim ilk satırdan itibaren yatay eksende taranır ve eşik değerinden büyük ilk piksel bulunur. Bulunan bu piksel başlangıç pikseli olarak seçilir. Başlangıç pikseli ilk merkez pikseldir.

2. Merkez pikselinin etrafındaki 8 komşusunun gri değeri bulunur ve bu gri değerler içinde en büyük değere sahip piksel bulunur. Bu pikselin koordinatı ise bir sonraki merkez pikseldir. Burada amaç bir çizgi izleme yönü belirlenmesidir. Çizgi izleme yönü belirlenerek, algoritmanın devam etmesi sağlanmaktadır.

(52)

3. İşlenen çizgideki, kenar pikseli tespit edildikten sonra gereksiz pikseller silinir. Merkez pikselin değeri ve bir sonraki merkez pikselin yönüne bağlı olarak komşu piksellerin değeri 0 yapılır. Bu adımda, resmin işlenen bölümündeki piksellerin tekrar işlenmemesi ve yanlış sonuçlara ulaşılmaması amaçlanmaktadır. Fakat burada dikkat edilmesi gereke husus, izleme yönünde kalan piksellerin silinmemesidir. Çünkü izleme yönündeki piksellerin silinmesi, izlemenin sonlanmasına neden olabilmektedir.

Şekil 4.9. Bir sonraki merkez pikselin belirlenmesi ve silinecek piksellerin bulunması.

4. Eğer yeni merkez pikselin değeri belirlenecek olan bir değerden küçükse şeklin bittiği düşünülür ve o ana kadar bulunan şekle ait kenarlardan şeklin alanı hesaplanarak şeklin bir gürültü olup olmadığı anlaşılmaktadır. Eğer şekil gürültü ise, tüm kenarları silinerek yok edilir. Bu aşamadan sonra şekil bittiği için 1. adıma dönülür. Bu adım algoritmanın gürültü olabilecek şekilleri silip, çıktı dosyasını küçülttüğü adımdır. Ayrıca bu adım, şeklin bittiğine ve yeni bir şekil izleme adımına geçilmesi gerektiğe karar veren adımdır.

(53)

Şekil 4.10. Şekli bitirmeye karar verme safhası.

Şekil 4.11. Yeni şeklin ilk merkez pikseli.

5. Bu adım ise, şekle ait kritik noktaların kaydedildiği ve şeklin izlenmeye devam ettiği adımdır. Eğer bulunan en büyük gri değerli pikselin yönü bir önceki adımda bulunan en büyük gri değerli pikselin yönünden farklıysa bu pikselin koordinatı bu şekil için kenar olarak kaydedilir. Bu adımdan sonra 2. adıma dönülür.

(54)

Şekil 4.12. Algoritmanın tespit ettiği kenar olması muhtemel noktalar. Aşağıda kenar çıkarma işlemi yapılmış şekil 4.7. deki resmin vektörizasyon algoritmasından sonraki DXF formatındaki hali AutoCAD programında açılmış olarak görülmektedir. Buradaki şekil, “polyline” denilen, çokgenlerden oluşmaktadır. Programın son çıktısı bu dosyadır ve program bu dosyayı hazırladıktan sonra nereye kaydedileceğini soran bir iletişim kutusu gelmektedir. Bu iletişim kutusuna verilen cevaptan sonra hazırlanan dosya diske kaydedilmektedir.

(55)
(56)

4.3. Diğer Ticari Yazılımlar:

Bu bölümde vektörizasyon için kullanılan diğer ticari yazılımlara değinilmektedir. Bu ticari yazılımlardan dört tanesi WinTopo, Scan2CAD, R2V, Acme TraceART yazılımlarıdır.

Bu yazılımlardan bazıları tam otomatik vektörizasyon yaparken, bazıları resmi gri değere çevirmeyi ve kullanıcıya bırakmaktadırlar (WinTopo, R2V). Bazı yazılımlar ise eşik değeri bulmayı kullanıcıya bırakarak resmi iki renk olarak işler (Scan2CAD, Acme TraceArt). Aşağıda örnek resim üzerine geliştirmiş olduğumuz algoritmanın ve diğer ticari yazılımların sonuçları görülmektedir.

(57)

Şekil 4.15. Wintopo programının sonucu

(58)

Şekil 4.17. R2V programının sonucu

(59)

Şekil

Şekil  3.3.  a)  Orijinal  resim  b)Kontrast  uzatma  uygulanmış  resim  c)Eşitleme  yapılmış resim
Şekil 3.4. Çeşitli ikili işlemlere örnekler.
Şekil  3.5.  dairesel  kutu  yarı  çapı  a=4.5  olan  test  resmi  a)  Konvolosyon  uygulanacak örnek b) Odaklanılmamış resim
Şekil 3.6. h[j,k]’yı belirten koordinat sistemi.
+7

Referanslar

Benzer Belgeler

• By looking at the Itakura-Saito distances listed in Table 8.29 and the power spectrum and contour plots given in Figure 8.35 and Figure 8.36, we can say that there is a close

l Çıkartılabilir destek teknisyeni konsolu özelliği Bomgar Teknik Destek tarafından siteniz için etkinleştirilmişse, uygulamayı yükseltmeden önce destek teknisyeni

Karbon nanotüpleri hizalamayı başarmalarına rağmen bu tüplerin birbirlerine olan temaslarının mükemmel düzeyde olmadığını ve ısı iletkenliğinin her bir nanotüp

Teknik resim kurallarına uygun olarak çizgi, norm yazı ve temel geometrik çizimler yapar.. • Çizgi, Norm yazı ve temel geometrik çizim uygulamalarını çeşitli

Yusuf Kenan, “İnkılâp Edebiyatı ve Bizim Yolumuz” başlıklı yazı- sında, “düne kadar hüküm süren” edebiyatı, “hasta ruhlar edebiyatı” ola- rak belirler; “hayat

Bir okulda 549 tane erkek,erkeklerden 108 fazla kız öğrenci olduğuna göre okuldaki toplam öğrenci sayısını

Benzer düşünce genel integral tipli lineer pozitif operatörlerin i -yinci basamaktan türevlerinin de ötelemeyi ve süreklilik modülünü koruduğu ve elde edilen

Son ışıklarla biler körfezin üstünde gurup A y üzülmüş gibi matemle ufuklarda durup; Seyreder böyle guruplarla yazın bittiğini H er biten günle bir