C# Görüntü İşleme Uygulaması -2

Filtreleme

Filtreleme resmin üzerinde bir filtre varmış gibi düşünüp her piksel değerinin yeniden hesaplanmasıdır. . Bu filtrenin büyüklüğü ve hangi çevresindeki piksellerin kullanılacağı bize kalmıştır. Bu resimlere uygulayacağımız filtre türüne ve çözünürlüğümüze göre çeşitlilik gösterir.

 

Genelde 3×3 (piksel) matris halinde bir çekirdek görüntü üzerinde gezdirilir. Her piksel değeri gezdirilen nesnenin altında kalan değer ile çarpılır ve filtre içindeki elemanların toplamına bölünür.

Bu işlemler resmin her pikseli için hesaplanıp güncellendiğinde filtre uygulanmış olur.

Alçak geçirgenli filtreler-Mean filtresi

Bu işlem ortalama alma işlemine karşılık gelir. Filtre çekirdeği büyüdükçe resim daha yumuşak geçişlere sahip olur.

Median filtreleme

Resmi yumuşatmayı amaçlayan bu algoritmadan programda genel olarak 3×3 ve 5×5 matrisler halinde ya da istenilen boyutta filtre kullanılarak faydalanıldı. Bu filtreyi kullanmaktaki amaç resim üzerindeki gürültülerin bu yöntemle yok edilmesiydi. Filtre uyguladığımız alandaki piksel değerleri alınarak, küçükten büyüğe sıralanır, ortadaki değer filtrenin ortasına yazılır. Ancak bu işlemin dezavantajları da unutulmamalıdır. Çünkü bu işlem resimdeki kenarların yumuşamasına neden olur. Eğer biz projemizde kenar belirleme ihtiyacı duyuyorsak bu işlem bu noktada zarar verebilir.

 

Yüksek geçirgenli filtreler

Yüksek geçirgen filtreler genel olarak kenarları belirlemek için kullanıyoruz. Yüksek geçirgen filtrede pozitif ve negatif değerlerin ikisi de yer alır. Burada dikkat edilmesi gereken nokta ise filtrelerdeki negatif değerlerden dolayı hesaplanan piksel değeri negatif çıkabilir. Bu durumda bu değerlere dikkat etmemiz ve pozitif yapmamız gereklidir.

Kenar bulma işlemi görüntü işlemede çok sık kullanılacak bir yöntemdir. Kenar bulma renklerde meydana gelen ani değişimleri algılamak üzerine kurulu bir mantıkla çalışır. Kenar bulunurken resim üzerinde bazı işlemlerin yapılması gerekir. Bunlardan kısaca bahsetmek gerekirse ;

  1. Gürültü azaltma: daha önce bahsedilen alçak geçirgen filtreler kullanılarak yapılabilir. Fakat anlamlı kenarların bulunmasını engelliyorsa bu işlemden kaçınılmalıdır.
  2. Kenarlarda yüksek tepki veren bir filtrenin kullanılarak kenarları belirgin hale getirmek.
  3. Filtre uygulandıktan sonra sonuçlardan hangilerin anlamlı hangilerin anlamsız olduğuna karar verilmesi.

 

SOBEL FİLTRESİ

Adaptive Treshold

Bu yöntemde yine kenar bulmaya yöneliktir. Çalışma mantığı diğer kenar bulma algoritmalarına benzer şekilde çevresindeki piksellerle belli bir eşik seviyesi farkı gözetilerek yapılan karşılaştırmadır. Burada diğer yöntemlerden en önemli farkı bir eşik seviyesine göre yapılmasıdır. Bu eşik seviyesini biz belirliyoruz. Fakat bu eşik seviyesi iyi sonuç almak için her resme özel olarak belirlenmelidir.

LAPLACİAN

Laplas filitresi bastiçe bir resimdeki kenar hatlarını belirlemek için kullanılır. Burada kenar ile kastedilen objeleri genelde arka plandan ayıran keskin renk ayrılıklarıdır. Keskinleştirme Filitresi (Sharpening Filter) ismi ile de anılır.

GAUSSIAN

Resimi yumuşatma için kullanılır. Keskin kenarlar bulanıklaşır. Gürültü gidermek için kullanılabilir.

GENIŞLETMEK

Sayısal bir resmi genişletmek demek resmi yapısal elemanla kesiştiği bölümler kadar büyütmek demektir. Bunu yapabilmek için yapısal eleman resim üzerinde piksel piksel dolaştırılır. Eğer yapısal elemanın orjini resim üzerinde “0” değerli bir piksel ile karşılaşırsa herhangi bir değişiklik meydana gelmez. Eğer değeri “1” olan bir piksel ile karşılaşırsa yapısal elemanla yapısal elemanın altında kalan pikseller mantıksal “or” işlemine tabi tutulurlar. Yani herhangi “1” değeriyle sonuç “1” e çevrilir.

 

Genişletme (dilation) ile resim üzerindeki objeler şişer. Obje içinde delikler var ise bunlar kapanma eğilimi gösterirler. Ayrık nesneler birbirine yaklaşır ya da bağlanır.

Aşağıda 3×3 yapısal elemanı ile sayısal resim üzerine genişletme uygulanması ifade edilmiştir. 3×3 lük yapısal elemanın tüm değerleri “1” dir.

AŞINDIRMAK

Aşındırma işlemi bir bakıma genişletmenin tersi gibi görülebilir. Burada yine aynı şekilde yapısal eleman resim üzerinde piksel piksel dolaştırılır fakat bu defa yapısal elemanın merkez pikseli “1” değeri ile karşılaşırsa yapısal eleman içerisindeki piksellerin durumuna bakılır. Eğer yapısal eleman içerisindeki “1” olan piksellerden herhangi biri altında resme ait “0” değeri varsa yapısal elemanın diğer “1” lerinin altındakilerle beraber bu piksel “0” a dönüştürülür.

Aşındırma (erozyon, erosion) işlemi ile sayısal resim aşındırılmış olur. Yani resim içerisindeki nesneler ufalır, delik varsa genişler, bağlı nesneler ayrılma eğilimi gösterir.

Aşağıda 3×3 yapısal elemanı ile sayısal resim üzerine aşındırma uygulanması gösterilmiştir. 3×3 lük yapısal elemanın tüm değerleri “1” dir.

AÇMAK

Sayısal bir resme önce aşındırma daha sonra genişletme uygulanırsa resme Açma(Opening) işlemi uygulanmış olur.Açma işlemine tabi tutulmuş bir görüntü ve değişimi aşağıda gösterilmiştir. Burada yine 3×3 lük yapısal eleman kullanılmıştır.

 

KAPATMAK

Sayısal resme önce genişletme daha sonra aşındırma uygulanırsa Kapatma(Closing) işlemi uygulanmış olur.

Açma işlemi ile birbirine yakın iki obje görüntüde fazla değişime sebebiyet vermeden ayrılmış olurlar. Kapatmada ise birbirine yakın iki nesne görüntüde fazla değişiklik yapılmadan birbirine bağlanmış olurlar.

DISCRETE WAVELET TRANSFORM (DWT)

Görüntü alçak frekans bileşenlerini incelemek için alçak geçirgen bir filtre , yüksek frekanslı bileşenler için ise yüksek geçirgen filtre kullanılarak görüntünün farklı frekan bileşenlerinin ortaya çıkarmak için yapılan dönüşümdür. Yüksek frakanslı bileşenler kenarları belli ederken alçak frakanslı bölge ortalama resmi verir. Ortalama resimde gürültüler azalmıştır. Yüksek frekanslı bölgelerde gürültü kendini belli eder. Ortalama resmin elde edildiği bölge tekrar tekrar aynı dönüşüme tabi tutulabilir. Bu da dönüşümün derecesine bağlıdır.

 

DISCRETE COSINE TRANSFORM (CDT)

Discrete Cosine Transform(DCT) yani Ayrık Kosinüs Dönüşümü  resmin dikey ve yatay orijinal renk değerleri,özel bir formül yardımıyla hesaplanır ve frekanslarının en yüksek ve düşük olduğu noktalar saptanır. Bu işlemin sebebi aslında en yüksek frekanslardaki renklerin tespit edilmesidir. İnsan gözü yüksek frekansları ayırt etmekte zorlandığı için bunları düşürmek ve hatta sıfıra indirmek mümkündür. Böylece bu değerler çıkarılarak resim sıkıştırılabilir. Daha çok anlam taşıyan değerler sol üst köşede toplanmıştır. En az değerli değerler ise orta band olarak düşünülebilir.

 

Uygulama tasarımı

Uygulama içerisindeki yapılan işlemleri rahatlıkla test edebilmek ve sonuçları görebilmek için uygun bir program tasarımı gerçekleştirildi. Yan yana bulunan iki picturebox nesnesi sayesinde resimin orjinali ile çıktısını karşılaştırma,ortadaki listboxlardın biri uygulanacak fonksiyonun seçimi diğeri ise işlemin yapılma sürelerinin gösterilmesi amacı ile yerleştirildi.

En altta ise yatay bir panel konuldu ve buraya resimlerin eklenebilmesini sağlayacak bir yöntem yazıldı Bu yöntem yeni picturebox nesneleri oluşturarak resimlerimizi burada tutmayı ve istediğimiz zaman kullanabilmemizi sağlıyor. Ayrıca programa resimlerin rahat eklenebilmesi için dışarıdan bir resim dosyasının yada dosyalarının sürüklenmesi halinde hepsini bu panel üzerine sıralanmasını sağlayacak drag-drop olayları gerçekleşiyor.

Program içindeki pictureboxlar üzerinden yapılan sürükle bırak işlemleri ilede bu panele resimleri ekleyebiliriz.

 

 

Görüntü işleme uygulamama aşağıdaki linkten ulaşabilirsiniz.

https://drive.google.com/open?id=1w_JKmQ90Ckpau3S1ICPzjEPOSXr7ZiPR

 

Mehmet Salih Deveci

I am Founder of IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience.I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource.I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks.I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients.If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress mehmetsalih.deveci@outlook.com.-                                                                                                                                                                                                                                                 -Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  mehmetsalih.deveci@outlook.com a mail atabilirsiniz.

Leave a Reply

Your email address will not be published. Required fields are marked *