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 İşlemleriResim ÖzellikleriResim Çerçeveleme İşlemiÇözünürlüğe Göre Pencere BoyutlandırmaFormat ve Çözünürlük DeğiştirmeResim ü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.
Line fonksiyonunun parametreleri rectangle fonksiyonunun parametreleri ile aynı şekilde kullanılır.
- Çizgi eklenecek olan resim
- Oluşturulacak olan çizginin koordinat başlangıç noktası
- Oluşturulacak olan çizginin koordinat bitiş noktası
- RGB renk kodları (değerleri değiştirerek farklı renkler elde edebilirsiniz.)
- Ç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()
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()
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.
- Daire eklenecek olan resim
- Dairenin merkez noktası
- Daire Yarıçapı
- RGB renk kodları (değerleri değiştirerek farklı renkler elde edebilirsiniz.)
- Ç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()
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.
Metin ekleme için “cv2.putText” fonksiyonunu kullanacağız. Öncelikle bu fonksiyonumuzun parametrelerini inceleyelim.
- Metin eklenecek olan resim
- Resme eklenecek olan yazı
- Koordinatlara göre metnin konumu
- Yazı tipi
- Yazı tipi boyutu
- RGB renk kodları (değerleri değiştirerek farklı renkler elde edebilirsiniz.)
- Yazı tipi ölçeği
- Ç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()
Ö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
Hocam ben aynı pencere içerisine bir resim eklemek istiyorum kordinat değerlerini girerek. Bunun bir yolu var mı?
Merhabalar. Aşağıdaki kaynağı inceleyebilirsiniz. İyi çalışmalar dilerim.
Link