OpenCV – Görüntü İşleme – 2

Açıklama : OpenCV kullanarak geometrik şekiller nasıl çizilir? OpenCV’de Trackbar nasıl kullanılır?

OpenCV (Open Source Computer Vision) , bilgisayar görüşü için açık kaynaklı bir kütüphanedir.

Yıllardır bu kütüphane, bu disiplinin tüm tutkulu ve uzmanlarının referans noktası olmuştur. Şimdi 4.x sürümünde, bu kitaplığın içinde 2500’den fazla algoritma vardır ve bunlar yıllar içinde optimize edilmiştir.

Bu algoritmalar, bir görüntü veya videodaki yüzleri algılamanıza, nesneleri tanımlamanıza ve videolar aracılığıyla insanlar tarafından gerçekleştirilen eylemleri sınıflandırmanıza olanak tanır.

  • Geometrik Şekiller Çizmek ; 

  • 0’lardan oluşan bir matris oluşturursak içerisi 0 olacaktır
  • Boyutlarını 512,512 olarak belirleyebilirsiniz
  • Eğer 512,512,3 yaparsanız 3 renk uzayına sahip olacaksınız, RGB
  • default olarak içinde float değerler döner size

  • Çizgi Çizmek ; 

  • Line fonksiyonu içerisine 5 tane parametre alır
  • 1.si hangi resmin üzerine çizgi çizmek istediğiniz
  • 2 ve 3.sü ise ise hangi noktadan başlayıp hangi noktada biteceği, x ve y koordinatları üzerinde
  • En sol köşeden en sağ köşeye kadar gidecektir
  • 4.sü ise renk BGR olarak okuduğu için 3 sayı vermelisiniz
  • Önceki yazımda 0 ile 255 arasında olduğunu söylemiştim
  • 5.si ise kalınlığını ayarlamak olacak

  • Dikdörtgen Çizmek ;

  • Dikdörtgen çizmenin de benzer bir mantığı var
  • İlk olarak resmi alacaksınız, nerede başlayıp nerede biteceğini belirlemelisiniz
  • Ayrıca dikdörgen kapalı bir cisim olduğu için içinin de rengini belirleyebilirsiniz
  • İçini doldurmak için -1 yazmalısınız

  • Çember, Daire ve Elips Çizmek ;

  • İlk olarak resmi alacaksınız, sonra merkezini belirleyeceksiniz.
  • 3. olarak yarıçapını belirlemelisiniz.
  • 4. olarak rengi belirlemelisiniz.
  • Son olarak da kalınlığı belirlemelisiniz.
  • Aynı şekilde -1 eklerseniz içini de doldurabilirsiniz.

  • Elips çizmek ;

  • Resmi alacaksınız, merkezi belirlemelisiniz.
  • Uzunluğu belirlemelisiniz, yayın açısını belirlemelisiniz.
  • Başlangıç ve bitiş açılarını belirlemelisiniz.
  • Rengini de belirlemelisiniz.
  • Kalınlığını da belirleyebilirsiniz.

  • Çokgen Çizmek ;

  • Çokgen noktalardan oluşur, o yüzden numpy’ı kullanacaksınız.
  • Bir matris oluşturabilirsiniz.
  • shape’i 4,2’i olduğu için bu şekilde veremezsiniz.
  • reshape yapmalısınız, boyutunu değiştirmelisiniz.
  • 2’li 2’li almalısınız o yüzden -1 yaptık.
  • 1.si resmi almak, 2.si sizin seçtiğiniz noktalar.
  • 3.sü ise True ya da False yaparsanız kapalı veya açık olacağını göreceksiniz.
  • Yani bir çokgen veya noktalar olacağını.

  • Yazı Yazmak ;

  • Benzer işlemler ikinci olarak yazıyı vermelisiniz.
  • Yazının sol alt köşesinin nerede yer alacağı.
  • Bir sonraki ifade ise font’u.
  • Boyutu ve rengini belirtmelisiniz.
  • Sonra kalınlığını vermelisiniz.
  • Son olarakta tipini belirtmelisiniz, size daha iyi bir görüntü verecektir.

  • Trackbar Kullanımı

Telefonlarınız da trackbar kullanıyorsunuz aslında, şöyle ki ses açma ve kapama tuşuna bastığınız da ekran da ses yükseltme ve alçaltma yaptığınız kısım diyebilirsiniz. Ses seviyesini ayarlama kısmı diyebiliriz.

  • Boş bir çerçeve oluşturmalısınız.
  • Boş bir çerçevenin içine Trackbar’ı dahil etmelisiniz.
  • İlk olarak TrackBar ismini vermelisiniz.
  • 2’si hangi çerçevede yer alacak.
  • 3.sü ise değerinin başlangıcı 0 ile başlayıp 255 arasında olacak.
  • 4.sü ise function girmelisiniz, bir işlem yapmıyor aslında ama size işlem yaptığınız da size değeri döndürecektir.
  • Yazmanız gerekli yoksa çalışmayacaktır.
  • R,G,B için tekrarlamalısınız.
  • Şimdi ise döngüye koyup, sürekli ekran kalması için.
  • Yaptığımız değişikleri ise görmek istiyoruz o yüzden TrackbarPos function’ı kullanacağız.
  • Bir renk bilgisi alacaksınız, onun için de hangi parametre ve hangi pencere olduğunu söylemelisiniz.
  • img’e eklemeniz gerekli bunun için de tüm pikselleri kullanmalısınız.
  • Ayrıca b,g,r şeklinde vermelisiniz çünkü bgr okuyor.

Tüm kodları Computer Vision, Repository içerisinde bulabilirsiniz. github.com/ismetcsahin

Gelecek yazımda ise OpenCV–3  ile sıklıkla kullanılan fonksiyonlara devam edeceğim.

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.