Sedat DURMUŞ ve Programlama Sanatı
sedatdurmuscomputereng  
 
  Görüntü Dosyası Açma ve İçeriğinde Değişiklikler Yapma: 14.03.2025 12:23 (UTC)
   
 



Görüntü Dosyası Açma ve İçeriğinde Değişiklikler Yapma:

 Gelişen teknolojiyle beraber görüntü üzerinde yapılan uygulamalarda öne çıkmaya başladı.Bu yazımızda görüntü işlemenin bir kaç ön bilgisini aktaracağız.

   Bilindiği üzere bir resim,görüntü piksellerden meydana gelir.Bu piksellerde resmin o noktasıyla ilgili bilgiler yer alır.renkleri,şekilleri vs.Her pikselin bulunduğu noktanın gölge oranı renk tonu farklı olduğundan piksel değerleride farlı oluyor.Bu değerlerden ilki RGB renk değerleri.Yani RED GREEN BLUE  renklerinin kısaltılmışıdır.Bütün renkler ana renklerden türetilir.Ana renklerin oranlarına göre.RGB değerlerinin her biri intiger değer olarak 0 ile 255 arası değişir.Toplam RGB boyutuysa 3 byte olarak bilinir.Bu değerlere erişilebilinirse resim üzerinde şekli bozmadan hertürlü değişiklik yapılabilir.    Her dosyanın bir header uzunluğu vardır.Resimle ilgili bilgilerde bundan sonra gelir.O halde RGB değerlerine ulaşmak isteniyorsa header'ı atlamalıdır.bmp türü dosya için header uzunluğu 54 byte'tır.Anlatığımız kısımla ilgili program projeler kısmında "Resimi gray formatına çevirme" ismiyle mevcuttur.

  1.1.1. Piksel

Ekranda oluşulan görüntüler noktalardan oluşur. Noktalar kare şeklindedir. Çok

yakından bakıldığı zaman veya resim büyütüldüğünde bu noktalar fark edilebilir. Ekranda

kontrol edilebilen en küçük noktalara piksel denir. Bir piksel kırmızı, yeşil ve mavi renklerin

karışımından oluşur.

Bitmap (piksel tabanlı) resim programları, ölçü birimi olarak piksel kullanırlar.

Piksel yoğunluğu arttırılırsa görüntü netleşir. Çok fazla arttırıldığında ise dosyanın

kapasitesinin artmasına, ayrıca yazdırılırken zaman kaybına ve mürekkep sarfiyatına neden

olur.

  Piksel tek başına bir ölçüyü ifade etmez. Verilen piksel sayısı belirtilen alan

içerisindeki piksel sayısıdır.

Örneğin

5 cm'deki piksel sayısı 10 denildiğinde pikselin boyutu 5 mm’dir.

5 cm'deki piksel sayısı 20 denildiğinde pikselin boyutu 2.5 mm’dir.

Örneklerden anlaşılacağı üzere verilen alan içerisindeki piksel sayısına göre

piksellerin boyutu değişir. Piksel boyutu sabit bir değer değildir.

1.1.2. Nokta ve Nokta Aralığı (Dot ve Dot Pitch)

Pikseli oluşturan kırmızı, mavi veya yeşil renklerinden her birine ise nokta (dot)

denir. Bir pikseldeki renklerin birbirine olan mesafesine nokta aralığı (dot pitch) denir.

1.1.3. Çözünürlük

Bir defa da ekranda görüntülenebilen piksel sayısına çözünürlük denir.

Örneğin 800 X 600 denildiğinde 800 sütun ve 600 satır kullanıldığı, bunların çarpımı

olan 480.000, toplam piksel sayısını verir. 

HİSTOGRAF VE PİKSEL RENKLERİNDE EŞİK DEĞERİ BULMA

Arkadaşlar şimdi bir kademe daha atlayıp gray olayında anlattıklarımıza biraz ekleme yapacağız.Daha önceki anlattıklarımıza uygun olarak R,G,B değerlerini toplayıp 3 e bölmek aynı işi yapar.Ama biz şimdi biraz daha geliştireceğiz.Daha doğrusu biraz daha mükemmelleştireceğiz.Her R,G,B değerinin oranları farklıdır.mesela R1 birinci pikselin Red değeri olsun bu renk değerinin resimdeki toplam pikseller arasında ki oranı nedir.İşte her renk değerinin(0-255 arasında) bu şekilde toplam pikseller arasındaki renk oranlarının hesaplanmasına HİSTORAFY denir.Bu histograf değerine göre daha sağlıklı bir eşik değeri bulunur ve bu eşik değerine göre karartma,aydınlatma,renk soldurma..vs. işlemleri yapabilirsiniz.Peki madem bir eşik değeri bulmak istiyoruz.O zaman neden 256 renk değerini 2 bölüp ortadaki renk değerini almıyoruz.Aslında teoride doğrudur.Bu değer 128 olur.Ama belkide sizin resminizdeki bütün renk değerleri 128 in altında olursa ne olacak.İşte bunu aşmak için Historaf değeri bulunur ve böylece bir eşik teğeri hesaplattırılır.


 

Eşik değeri bulmak için otsu algoritmasını kullanacağız.Bu algoritmanın matematiksel karşılığını aşağıda formule dökmeye çalıştım...

Arka plan düzeyleri


 


 

arka plan Otsu eşik hesaplama


 

siz burda ki backgroundun yerine sırasıyla red green ve blue renklerini koyarak hepsi içiç bu değerleri bulmalısınız.Daha sonra Eşik değeri bulmak içinse

Eşik değeri=Wred*Variance_red+Wgreen*Variance_green+Wblue*Variance_blue;

yaparak eşik değeri buluruz.Burdan sonra eşik değerin altındakileri 0 ,üstündekileri 255 yaparsan binary formda resimler elde edebilirsin.


 


 


 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INFOMELDUNG_LOGINBOX
Bugün 9 ziyaretçi (77 klik) kişi burdaydı!
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol