Home » » VB.Net İle Görüntü işleme(Pixel işlemleri)

VB.Net İle Görüntü işleme(Pixel işlemleri)


Pixel(Gözek): Aklımıza gelebilecek her türlü dijital görüntülerin en küçük parçasına denir.Pixel kelimesi Picture Element(resim parçacığı) kelimelerinden picture nin kısaltılmışı "pix" ve element kelimesinin ilk iki harfi olan "el" hecelerinden oluşur.

Pixeller x ve y düzleminde dizili oldukları için her bir pixelin yerini koordinatlar ile bulabiliriz veya değiştirebiliriz.

Pixel(4,10) görüntüde x düzleminde 4. ve y düzleminde 10. olan pixele denk gelmektedir.

Bir görüntüde pixel sayısı arttıkça görüntünün çözünürlüğü yani kalitesi,netliği de artacaktır.

240x320 çözünürlükteki bir görüntüde 240 tane x noktası ve 320 y noktası vardır bundan dolayı ikisinin çarpımı kadar görüntümüzde pixel var demektir.Program yaparken x ve y değerlerine dikkat etmemiz gerekli.

240x320 = 76800 tane pixel


Pixeller sayesinde istediğimiz görüntüyü bir yerden bir yere aktarabilir, görüntü üzerinde değişiklikler yapabilir ve en önemlisi görüntüyü analiz edebiliriz.

Göz ile tanıma ve parmak izi okuyup karşılaştırma gibi işlemler pixeller yardımıyla olmaktadır.




Vb.nette herhangi bir görselin istediğiniz yerindeki(x,y) pixeli Getpixel(x,y) komutu ile okuyabiliriz, koordinatı belli olan(x,y) pixeli de Setpixel(x,y,renkadı) düzenleyip o pixele istediğimiz rengi verebiliriz.

Koordinatların x ve y noktalarından oluşan ve ikisinin çarpımı kadar pixelin olduğunu düşünürsek görüntüdeki pixelleri tek tek alabilmemiz veya değiştirebilmemiz için iç içe döngü kurmamız gerekir.

Burada dikkat etmemiz gereken yer döngüleri düzgün kurmak aksi halde program sürekli hata verecektir.

Diyelim ki 240x320 çözünürlükteki bir görüntüde üzerinde çalışacağız. Pixelin koordinatları (0,0) da başlayacağından döngüyü

for i = 0 to 239

for j = 0 to 319

goruntu.getpixel(i,j)

next

next

bu şekilde kurmamız gerekli ancak görüntümüz pictureboxtaysa pictureboxa ait ayarlar yüzünden döngümüz hata verebilir.Picturebox ayarlarını hiç değiştirmeden alacağımız görüntünün boyutunu pictureboxun boyutuyla aynı tutarsak hata almayız.

Yaptığım örneğin kaynak kodlarının içerisine açıklamaları yaptım formunuzu resimde gördüğünüz gibi ayarlarsınız.Pictureboxların boyutlarına dikkat edin.
Soldaki resmimizin pixellerini tek tek okuyup listboxa aktarabiliriz.Bunun için gerekli kodlar:



pixelleri listboxa aktarırmak biraz yavaş olabilir(15 20sn) ilk kez çalıştırıyorsanız daha da yavaş olacaktır.



Bir de soldaki görüntüyü sağdaki pictureboxa kopyalayalım.Önce soldaki görüntümüzü tek tek pixellerini okuyoruz bir görüntü oluşturuyoruz o görüntüyü de picturebox2 ye aktarıyoruz.Gerekli kodlar:



görüntü pixel pixel işlenirken:


sonuc:


 
Support : Vaganzi
Copyright © 2013. Visual Studio Kod Bankası - All Rights Reserved
Powered By Vaganzi