C# Mouse İmleci İle RGB Değerlerini Tespit Etmek

Görüntü işleme çalışmış olanlar mutlaka cisimleri renklere göre ayırma işlemini yapmıştır.

Görüntü işlemenin temel basamaklarından olan RGB(red green blue ) degerlerine göre yapılmaktadır.Bu sınıflandırma işleminde bir proje üstüne çalışırken ufak bir degişiklikle RGB degerlerini kodların içinden manuel vermekten kurtulacağız.

Bu işlemi yeni başlayanlar kod üzerinden yapmakta biraz daha farklılık katmak isteyenler ufak bir slider koyarak(süreklenebilir) yapmakta. Bar üzerinden degiştirilen degerler program içerisine dinamik olarak aktarılmakta fakat biz biraz farklılık katarak işi daha cool yapacağız.

Resim üzerinde yeşil bir objeyi bulacagımızı varsayalım , yeşil r g b degerleri rgb(0,100,0) rgb(124,252,0) genellikle bu aralıktadır. Bu tür renk filtrelemeleri yaparken renk uzayını HSV ye çevirmeniz çoğu zaman daha iyi sonuçlar almanızı saglıyacaktır.

Yukarıdaki RGB degerleri ışık gölgeler vs. normal şartlarda oldugunda çok iyi çalışacaktır fakat ışık yogunlugunun degiştigi durumlarıda düşünmeliyiz.

Işık objeye direkt geldiginde veya gölge oluşturacak açıdan gelidinde(arkasından) bu rgb degerleri degişecek ve sizin algılayabildiginiz yeşil alanı bilgisayar görüşü daha büyük veya daha küçük algılayabilir.

Biz bu degerleri slide bar ile degiştirmek yerine resim üzerinde bulmak istedigimiz cisimin üstüne tıklayıp alırsak çok pratik ve tam olarak istedigimiz alanı çıkartmış oluruz.

C# ortamında RGB degerlerimizi default 1 olarak ayarlayalım.

mouse imleci ile işlem yapacagımız için sol tık’a özel bir metod oluşturalım.

Aldıgımız renk degerlerini test etmek için bir picture box içine atalım. PictureBox2 tıkladıgımız alanın rengini alacaktır ve dogru yere tıkladıgınızdan emin olacaksınız.Burayı daha sonra kaldıra bilirsiniz.

Aldıgımız tüm RGB degerlerini renk filterinde yerine koymak için trackBar kullananlar int16 tipinde bir degişken tanımlayıp Z degişkeni içinde tutmalılar.Z nin dinamik bir degişken oldugunu gözden kaçırmayın.

Tüm kodlar şu şekilde.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir