BÖLÜM 3 : KULLANILAN METODLAR VE YÖNTEMLER
3.1.Renk Uzayı
Renk uzayları renkleri tanımlamak için kullanılan matematiksel modellenmektedir. Renk uzayları 3D olarak tanımlanmaktadır. Çünkü Grassmann’ın birinci kanununa göre bir rengi tanımlamak için birbirinden bağımsız üç değişkene ihtiyaç vardır.[1]Temel olarak iki renk uzayından bahsedilmiştir. Bunlar RGB ve HSV renk uzaylarıdır. RGB kısaltması; red(kırmızı), green(yeşil), blue(mavi) kelimelerinin baş harflerinden oluşmuştur. RGB renk uzayında renkler bu üç rengin karıştırılması ile oluşmaktadır. RGB uzayı küp şeklinde oluşmaktadır. HSV kısaltması; hue(renk özü), saturation(doygunluk), brightness (parlaklık) kelimelerinin baş harflerinden oluşmaktadır. HSV renk uzayında bu üç değişken değerleri değiştirilerek renkler oluşturulur.
RGB de renklerin karışımı kullanılmasına karşın HSV de renk, doygunluk ve parlaklık değerleri kullanılır. Doygunluk rengin canlılığını belirlerken parlaklık rengin aydınlığını ifade eder. HSV uzayında siyah renk için renk ve doygunluk değerleri 0 ile 255 arasında herhangi bir alabilir iken parlaklık değeri sıfırdır. Beyaz renkte ise ise parlaklık değeri 255'dir.[2]Buna göre herhangi bir bilgisayarlı görme/görüntü işleme uygulamasında belirli renkteki bir nesneyi ayırt etmek istediğimizde HSV renk uzayını kullanmak daha elverişlidir. Çünkü RGB nin aksine sadece hue değerini kullanarak eşik değer uygulama suretiyle renkleri daha net ayırt edebiliriz.
Bu çalışmada kullanılan OpenCV kütüphanesi RGB yerine BGR alt renk uzayını kullanmaktadır. Temelde RGB ile BGR aynı mantıkta çalışmaktadır. Fakat renklerin öncelik sırası kısaltmalarından da anlaşılacağı gibi farklıdır. BGR bilgisayarlı görü sistemlerinde tercih edilen bir yapıda olduğu için OpenCV kütüphanesi de bu şekilde kullanmayı tercih etmiştir. Böylelikle diğer bilgisayarlı görü sistemleri ile uyumlu çalışması amaçlanmıştır. Bu çalışmada program içerisinde eşik değerleri yazılırken RGB yerine BGR türünde yazılmıştır.
Hangi renk uzayının tercih edilmesi gerektiğini anlamak için bazı testler yapılmıştır. Bunun için trafik ışığı olan bir görselde(Şekil 2.1) kırmızı rengin tespit edilmesi amaçlanmıştır.
Şekil 2.1 : BGR ve HSV Testinde Kullanılan Görsel
Kırmızı rengin algılanması için gerekli yazılım Python ile yazılmıştır. Burada dikkat edilmesi gereken nokta OpenCV fonksiyonlar BGR uzayında, pyplot modülü RGB uzayında çalışmaktadır. Bu fonksiyonlar çalıştırılırken dönüşüm RGB-BGR , BGR-RGB dönüşümü yapılmaktadır.Bahsi geçen yazılımın aşamaları aşağıdaki gibidir.
Gerekli Modüllerin Eklenmesi
Görüntünün Dosyadan Okunması
BGR Renk Uzayında Kırmızı Rengi için Eşik Değerlerin Tanımlanması
HSV Renk Uzayında Kırmızı Rengi için Eşik Değerlerin Tanımlanması
Görüntünün BGR'dan HSV'ye dönüştürülmesi
BGR ile Filtreleme
HSV ile Filtreleme
Görüntülerin BGR-RGB Dönüşümleri Yapılarak Plot ile Görüntülenmesi
Yukarıda aşamaları anlatılan program aşağıdaki gibidir.
Bu programın çıktısı Şekil 2.2’deki gibi elde edilmiştir. Elde edilen sonuca göre HSV renk uzayını kullanmak renkleri algılamak için daha doğru olacağı sonucuna ulaşılmıştır.
Şekil 2.2 : BGR ve HSV Kullanarak Kırmızı Renk Algılama Sonuçları
Comments