OpenCv’de Çizgi,Daire ve Metin Ekleme

Merhaba arkadaşlar, Mobilhanem.com sitemizde Python ile Görüntü İşleme Dersleri eğitim serisine kaldığımız yerden devam ediyoruz. Geçen dersimizde OpenCV’de Piramit Oluşturma ve Dörtgen Ekleme’den bahsettik. Python ile Görüntü İşleme dersinde bu hafta ise OpenCv’de Çizgi, Daire ve Metin Ekleme konularından  bahsedeceğiz. Eğer bir önceki dersimizi inceleme fırsatınız olmadıysa OpenCV’de Piramit Oluşturma ve Dörtgen Ekleme  dersimize  buradan ulaşabilirsiniz. OpenCv’de Çizgi, Daire ve Metin Ekleme işlemlerine başlamadan listemizi kontrol edersek bu dersimiz ile OpenCv’de Temel İşlemler kısmını bitiriyoruz. Bu dersimizden sonra Temel Video ve Kamera İşlemleri dersine geçeceğiz.

  • Resim Okuma ve Yazma İşlemleri
  • Resim Özellikleri
  • Resim Çerçeveleme İşlemi
  • Çözünürlüğe Göre Pencere Boyutlandırma
  • Format ve Çözünürlük Değiştirme
  • Resim üzerinde piramit oluşturma (Görüntü işleme durumlarına göre resim boyutlandırma)
  • Resime Dörtgen Ekleme
  • Resime Çizgi ve Daire Ekleme
  • Resime Metin Ekleme İşlemleri

Resime Çizgi Ekleme İşlemi

Geçen dersimizde dörtgen ekleme işlemi yapmıştık bu kısımda ise benzer bir çalışma olan resime çizgi ekleme işlemi yapacağız. Dörtgen ekleme işlemi yaptığımız proje üzerinden devam edebiliriz.

import cv2

resim = cv2.imread('gunbatimi.jpg')

cv2.imshow('Ornek Resim', resim)
cv2.rectangle(resim, (350, 40), (200, 230), (125, 40, 20), 3)
cv2.imshow('Dortgen ve Cizgi Eklenmis Resim', resim)
cv2.waitKey(0)
cv2.destroyAllWindows()

Yukarıdaki kod bloklarımızda örnek resmimiz üzerine bir dörtgen ekledik. Tekrar kodlarımızın derlenmiş halini görelim.

mobilhanem_dortgenolusturmaornek
Dörtgen Oluşturma

 

mobilhanem_lineparametre
Line Fonksiyonunun Parametreleri

Line fonksiyonunun parametreleri rectangle  fonksiyonunun parametreleri  ile aynı  şekilde kullanılır.

  1. Çizgi eklenecek olan resim
  2. Oluşturulacak olan çizginin koordinat başlangıç noktası
  3. Oluşturulacak olan çizginin koordinat bitiş noktası
  4. RGB renk kodları (değerleri değiştirerek farklı renkler elde edebilirsiniz.)
  5. Çizgi kalınlığı

Şimdi ise “cv2.line”  fonksiyonumuzu kullanarak dörtgen oluşturduğumuz resmin üzerine bir çizgi çizelim.

import cv2

resim = cv2.imread('gunbatimi.jpg')

cv2.imshow('Ornek Resim', resim)
cv2.rectangle(resim, (350, 40), (200, 230), (125, 40, 20), 3)
cv2.line(resim, (350, 40), (200, 230), (204, 255, 255), 5)
cv2.imshow('Dortgen ve Cizgi Eklenmis Resim', resim)
cv2.waitKey(0)
cv2.destroyAllWindows()
mobilhanem_cizgiolusturmaornek
Çizgi Oluşturma

 

Line fonksiyonunun içindeki özellikleri değiştirerek belirlediğiniz konumlar arası çizgi çizebilirsiniz.

import cv2

resim = cv2.imread('gunbatimi.jpg')

cv2.imshow('Ornek Resim', resim)
cv2.rectangle(resim, (350, 40), (200, 230), (125, 40, 20), 3)
cv2.line(resim, (200, 40), (100, 100), (0, 255, 200), 5)
cv2.imshow('Dortgen ve Çizgi Eklenmis Resim', resim)
cv2.waitKey(0)
cv2.destroyAllWindows()
mobilhanem_farklicizgiolusturmaornek
Farklı Konumlar Arası Çizgi Oluşturma

 

Resime Daire Ekleme İşlemi

Çizgi ekleme işleminden sonra şimdi ise mevcut resmimize daire ekleyelim. Daire ekleme için “cv2.circle” fonksiyonunu kullanacağız. Öncelikle bu fonksiyonumuzun parametrelerini inceleyelim.

mobilhanem_circleparametre
Circle Fonksiyonunun Parametreleri
  1. Daire eklenecek olan resim
  2. Dairenin merkez noktası
  3. Daire Yarıçapı
  4. RGB renk kodları (değerleri değiştirerek farklı renkler elde edebilirsiniz.)
  5. Çizgi kalınlığı
import cv2

resim = cv2.imread('gunbatimi.jpg')

cv2.imshow('Ornek Resim', resim)
cv2.rectangle(resim, (350, 40), (200, 230), (125, 40, 20), 3)
cv2.line(resim, (200, 40), (100, 100), (0, 255, 200), 5)
cv2.circle(resim, (80, 110),20,(0, 0, 200), 5)
cv2.imshow('Dortgen,Cizgi ve Daire Eklenmis Resim', resim)
cv2.waitKey(0)
cv2.destroyAllWindows()
mobilhanem_daireolusturma
Daire Oluşturma

 

Yukarıdaki resimde gördüğünüz gibi dairemizi çizginin koordinatlarını referans alarak  çizginin uç kısmına yerleştirdim.

Resime Metin Ekleme İşlemi

Bu konu başlığımızın altında ise resmimize metin ekleme işlemini göreceğiz.

Resime metin ekleme işlemine ihtiyaç duymamızın sebebini gelelim. Mesela yüz tanıma veya nesne tanıma işlemi yapacağız. Nesne tespitinde nesne üzerinde dörtgenimizi oluşturduk. Bu nesnenin ne olduğunu belirtebilmek için dörtgenimizin koordinatlarına göre  metnimizi yazdırabiliriz. Aşağıdaki görsel ile ne demek istediğim daha iyi anlaşılacaktır.

mobilhanem_metinekleme
Örnek Resim

Metin ekleme için “cv2.putText” fonksiyonunu kullanacağız. Öncelikle bu fonksiyonumuzun parametrelerini inceleyelim.

mobilhanem_puttextparametresi
putText Parametleri
  1. Metin eklenecek olan resim
  2. Resme eklenecek olan yazı
  3. Koordinatlara göre metnin konumu
  4. Yazı tipi
  5. Yazı tipi boyutu
  6. RGB renk kodları (değerleri değiştirerek farklı renkler elde edebilirsiniz.)
  7. Yazı tipi ölçeği
  8. Çizgi tipi

Parametreleri listeledik. Şimdi kodumuzu yazalım ve derleyelim.

import cv2

resim = cv2.imread('gunbatimi.jpg')

cv2.imshow('Ornek Resim', resim)
cv2.rectangle(resim, (350, 40), (200, 230), (125, 40, 20), 3)
cv2.line(resim, (200, 40), (100, 100), (0, 255, 200), 5)
cv2.circle(resim, (80, 110),20,(0, 0, 200), 5)

cv2.putText(resim,"Mobilhanem",(190,260),cv2.FONT_HERSHEY_DUPLEX,1,(255,255,255,255),2,cv2.LINE_4);
cv2.imshow('Dortgen,Cizgi,Daire ve Metin Eklenmis Resim', resim)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

mobilhanem_metineklendi
Metin Ekleme

 

Örnek resmimizin üzerine Mobilhanem yazdık. Sizde fonksiyon parametrelerinde bulunan koordinat bilgilerini değiştirerek  metninizi resmin farklı yerlerine konumlandırabilirsiniz.  Bu dersimiz ile birlikte OpenCv’de Temel İşlemler  kısmını bitirmiş olduk. Önümüzdeki derslerde başlangıç seviyelerinden çıkıp biraz daha ileri seviyelere yol alacağız.

Mobilhanem.com da Python ile Görüntü İşleme serisinde bir dersin daha sonuna geldik. Bu hafta Python ile Görüntü İşleme dersimizde OpenCv’de Çizgi,Daire ve Metin Ekleme‘den bahsettik. Umarım sizin için faydalı bir yazı olmuştur. Bir sonraki  OpenCv ‘de Temel Video ve Kamera İşlemleri dersinde görüşmek üzere. Eksik ya da yanlış gördüğünüz bir şey varsa lütfen iletişime geçmekten çekinmeyin. Sorularinizi buradan sorabilirsiniz.

Tüm Görüntü İşleme Dersleri için tıklayınız.

Kaynak: Link

 

32

Yunus Emre Aydın

Yazılım Mühendisi

2 Yorum

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?