• Sonuç bulunamadı

Raster vektör dönüşümleri, özellikle de otomatik vektörizasyon, veri kaybı olmaksızın raster verinin, vektör veriye en kısa zamanda ve kullanıcı katkısının minimum düzeyde olduğu bir dönüşümünü amaçlayan bir yaklaşımdır. Çalışmamın bu bölümünde otomatik vektörizasyon konusunun örneklendirildiği uygulama programına ve programın becerilerine yer verilerek otomatik vektörizasyonun işlem adımları örneklenmektedir.

5.1. Program Hakkında

Uygulama Programı Vectronder adını taşımaktadır ve 3 aşamalı olarak raster veri yapısındaki renkli, gri tonlu ya da siyah-beyaz (ikili) resimleri kullanıcının da kontrolü ile etkileşimli olarak, inceltme tabanlı algoritması gereği vektör veri yapısına çevirmeyi sağlamaktadır. Đlk aşamasında görüntü işleme, ikinci aşamasında inceltme, üçüncü aşamasında ise otomatik vektörizasyon modülleri bulunan program ile, Otomatik vektörizasyon işlemi baştan sona kadar tüm boyutlarıyla ele alınarak, raster vektör dönüşümü tüm aşamaları ile ele alınarak örneklendirilmeye çalışılmıştır. (Şekil 5.1.)

Program, bir Visual Basic 6.0 Professional Edition (SP6) ve Perl uygulamasıdır. Kodlamada tez danışmanım Sayın Đ.Bülent GÜNDOĞDU’nun, yardımlarının yanı sıra, internet ortamı aracılığıyla edindiğim çeşitli algoritmaların, açık kaynak kodlar programı bu noktaya taşımama imkân vermiştir. Programda Visual Basic programlama dilinin sağlamış olduğu ve programların çalıştırılması sırasında gerek duyduğu harici fonksiyonların tutulduğu ve gerektiğinde alt program olarak devreye giren .DLL uzantılı dosyalar kullanılmıştır (Çizelge 5.1.). Devingen Bağlı Kitaplık olarak dilimize geçen DLL dosyaları sayesinde yapılan işlemlerde programın işletim sistemi fonksiyonlarını kullanması sağlanmıştır. Programa yine hız kazandırma amacıyla, sıkça modüller kullanılmıştır.

Şekil 5.1. – Vectronder Programı Uygulama Arayüzü

Çizelge 5.1. Kullanılan DLL uzantılı dosyalar gdi32.dll Grafik API'leri

comdlg32.dll Dosya yazma/okuma API’leri

5.2. Programın Đşlem Adımları

Programın 3 aşamalı olarak otomatik vektörizasyon işlemini yaptığı, ilk aşamada görüntünün filtrelerle düzenlenerek siyah-beyaz görüntüye çevrildiği, ardından inceltilerek iskeletinin çıkarıldığı ve son olarak da otomatik vektörizasyon işleminin yapıldığı daha önce belirtilmişti. Bu aşamaların tümü programın modülleri ile gerçekleştirilmektedir. Programa ait 3 modül bulunmaktadır. Aşağıda ayrıntılandırılacak bu modüller;

- Görüntü Đşleme Modülü, - Vektörizasyon Modülü,

5.2.1. Görüntü işleme modülü

Otomatik vektörizasyon işlemi öncesinde programın ihtiyaç duyduğu nitelikte raster görüntü sağlayan modüldür. Kullanılacak altlıklar her zaman temiz, kırışıksız şekilde olmayabileceğinden, bazı filtrasyon işlemleri ve görüntü işleme teknikleri ile görüntünün geometrik ve semantik değerinde kayıplara yol açmadan bazı işlemler yapmak zorunludur.

Bu aşamada girdi verisi Yükle Komutu ile bellekteki dizinden bulunup Form üzerinde bir Resim Kutusu (PictureBox) nesnesinde açılarak görüntülenir. .jpg, .gif, .bmp, .pcx uzantılı tüm raster görüntü dosyaları programca desteklenen formatlardır. (Şekil 5.1.)

Görüntünün yüklenmesinin ardından, bir dizi müdahale yapılması yapılacak sayısallaştırma işleminin sıhhati açısından gereklidir. Yüklenen görüntü renkli olabileceğinden Öncelikle ikilik sisteme (binary) çevrilmesi gerekir. Kaydırma çubuğu kullanıcı etkileşimli olarak seçilecek bir eşik değerine göre ilk filtreleme yapılır. (Şekil 5.2.)

Eşik değeri için Yatay Kaydırma Çubuğu 2esnesi, filtre işlemi esnasında programa piksellere ait koyuluk değeri bilgisi gönderir. Buna göre eşik değeri ile belirlenen duruma göre görüntüdeki pikseller siyah ya da beyaz olarak renk değerleri yeniden düzenlenir. Eşik değeri kontrolünün bir diğer getirisi kullanıcının taranmış görüntüyü en iyi biçimde vektörizasyona hazır olacağını görsel olarak takip etmesine olanak vermesidir. Kullanıcı filtreleme işlemi tamamlanmadan işlemi durdurarak yeniden bir eşik değeri seçmek suretiyle orijinal görüntüye yeniden filtre uygulayabilir. Đlk kullanımda acemilik yaratabilen bu özellik vektörizasyon modülü için oldukça kolaylık sağlayacağı düşünülerek tasarlanmıştır. Bunun yanı sıra kapalı alanların yoğun olduğu haritalar için bir de kenar belirleme seçeneği düşünülmüştür. Đnceltme işlemi öncesinde alansal elemanların çizgisel hale dönüşmesinde kolaylık sağlayan bu yöntemde Canny Sınır Tespiti Algoritması temel alınmıştır. Bu yöntem WinTopoPro gibi profesyonel yazılımlarda da mevcuttur.(Şekil 5.2.)

Şekil 5.2. Etkileşimli gürültü azaltma ve kenar tespiti filtresi

Bu modül üzerinde ayrıca negatif görüntü işleme olanağı da sunulmuştur. Buna göre filtre ve kenar belirleme işleminde uygulanan siyah ve beyaz dönüşümleri ters çevrilerek yapılmaktadır.

Bu filtreleme işleminden sonra ikinci bir filtre uygulanarak görüntü yumuşatılır. Yumuşatma filtresi (smoothing), küçük noktacıklar gibi elemanların temizlenmesini sağlar, kısaca görüntü üzerindeki gürültüyü (noise) gidermenin bir başka yoludur. Uygulanacak 3. filtre ile çizgisel elemanlar keskinleştirilirsek (sharpening) gri tonlu pikseller temizlenir ve siyah-beyaz hale getirilir. (Şekil 5.9.)

5.2.1.1. Đnceltme işlemi (Thinning = Skeletonization)

Đnceltme işlemi, diğer bazı algoritmalarda olduğu gibi zincir kodun çıkarılmasıyla eş zamanlı olarak yürümez. Burada, zincir kod daha sonra, vektörizasyon aşamasında, pikseller arası komşuluklardan noktalar arası çizgi bağlantılarını çıkarmada kullanılacaktır. Zincir kodun ayrıca kaydı söz konusu değildir. Uygulamadaki Đnceltme algoritması piksellerin orta noktalarını bulup, etrafındaki dolu siyah piksellere beyaz renk atayarak çalışan “Ambardekar” algoritmasıdır ve “Zhang-Suen Algoritması” ile benzerlikler içermektedir (URL 7). Bu algoritma 2002 yılında, yapay zekâ ile imza tanıma uygulaması amacıyla geliştirilmiştir.

Şekil 5.3. Đnceltme Modülü

Đşlenmiş görüntünün inceltildikten sonra kaydedilmesiyle görüntü işleme modülünde yapılacak işlemler sona erer (Şekil 5.3.). Oluşan yeni görüntünün vektör veri yapısına çevrilmesi için Vektörizasyon modülüne geçilir.

Şekil 5.4. Raster vektör dönüşüm programı iş akış şeması

Taranmış Raster Görüntünün Yüklenmesi

Etkileşimli Filtrasyon Đşlemleri ile görüntünün gürültüden ve diğer olumsuzluklardan ayıklanması

(Yumuşatma, bulanıklığın giderilmesi)

Đnceltme (Thinning)

Đşlenmiş Görüntüyü Geri Çağırma

Çizgi takibi,Zincir Kodlama, Başlangıç ve Bitiş koordinatlarını çizgi genelleştirmesiyle bulma (kırık

noktaların Xbaş,Ybaş ve Xson,Yson olarak metin dosyasında .ovf uzantılı olarak

tutulması )

Raster Vektör Dönüşüm Programı

Benzer Belgeler