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 Çizgi, Daire ve Metin Ekleme’den bahsettik. Python ile Görüntü İşleme dersinde bu hafta ise OpenCv’de Temel Video ve Kamera İşlemleri konularından bahsedeceğiz. Eğer bir önceki dersimizi inceleme fırsatınız olmadıysa OpenCv’de Çizgi, Daire ve Metin Ekleme dersimize buradan ulaşabilirsiniz.
Görüntü işleme çalışmaları sabit resimler üzerinde yapıldığı gibi canlı olarak toplanan görüntüler üzerinde de yapılabilir. Canlı ortamlardan kamera ile alınan veriler (resim veya video görüntüleri ) üzerinden çeşitli görüntü işleme yöntemleri uygulanarak analiz yapılabilmektedir. Güvenlik amaçlı anlık yüz tanıma sistemi veya otoparkta araç giriş çıkışlarında kullanılan plaka tanıma sistemleri bu kısım için örnek olarak sunabiliriz. Genel bir bilgiden sonra dersimize başlayalım.
Temel Video ve Kamera İşlemleri dersimizde işleyeceğimiz konu başlıklarını sıralayalım.
- Kameradan Görüntü Alma ve Video Okuma İşlemi
- Video Boyutlandırma ve Gri Tonlama İşlemi
- Video Çözünürlüğü ve Skalalama İşlemi
- Video Kaydetme ve Döndürme İşlemi
Kameradan Görüntü Alma
Pycharm’da yeni bir Python dosyası oluşturalım. Opencv kütüphanemizi de projemize dahil edelim ve kameradan görüntü alma ve video okuma işlemine başlayalım.
import cv2
Kütüphanemizi ekledikten sonra VideoCapture fonksiyonu ile kameramızı hazır hale getirelim.
kamera = cv2.VideoCapture(0)
VideoCapture fonksiyonun içerisinde yer alan parametre dahili ve harici kameralarınızı belirlemek için kullanılmaktadır. Bilgisayarınızın kamerasını kullanmak için 0(sıfır), harici kameranız için ise 1 (bir) değerlerini kullanabilirsiniz. Birden fazla kamera bağlantısı var ise bu sayıyı artırarak sırasıyla kullanabilirsiniz.
import cv2 kamera = cv2.VideoCapture(0) while (True): ret, videoGoruntu = kamera.read() cv2.imshow("Bilgisayar Kamerasi", videoGoruntu) if cv2.waitKey(50) & 0xFF == ord('x'): break kamera.release() cv2.destroyAllWindows()
Yukarıdaki kod bloğunda kameramızın devamlı olarak çalışmasını istediğimiz için while döngüsü içerisinde read fonksiyonunu kullanarak kameramızdaki görüntüyü okuyoruz. Okuduğumuz bu görüntüyü resim okuma işlemlerinde de kullandığımız imshow fonksiyonu ile ekranımızda gösteriyoruz.
Şartımıza (If) gelecek olursak waitKey fonksiyonunda 50 ms’de herhangi bir tuşa basmamız kontrol edilecektir. Biz sonlandırma tuşumuzu ‘x’ olarak belirleyelim. Şartımız sağlanırsa ( klavyemizdeki x tuşuna basma durumu) break komutu devreye geçecek ve döngümüzden çıkılacaktır. Kullandığımız kamera.release fonksiyonumuz ile de kameramız devre dışı kalacaktır. En son ki satırda kullandığımız destroyAllWindows fonksiyonu ile de tüm pencerelerimizi kapatmış olacağız.
Video Okuma İşlemi
Bu kısımda ise elimizde var olan herhangi bir video kaydına erişerek okuma işlemi yapacağız. Aynı projemiz üzerinden devam edebiliriz. Bu kısımda ilk önce videomuzu kopyala/yapıştır yöntemi ile proje dosyamıza dahil edelim.
Projemize “video.mp4” dosyamızı dahil ettik. Şimdi kod satırımızdaki düzenlemeye geçebiliriz.
import cv2 okunanVideo = cv2.VideoCapture('video.mp4') while (True): ret, videoGoruntu = okunanVideo.read() cv2.imshow("Video Okuma Islemi", videoGoruntu) if cv2.waitKey(50) & 0xFF == ord('x'): break okunanVideo.release() cv2.destroyAllWindows()
Videomuzu okuma işlemini gerçekleştirmek için yukarıdaki kod bloğumuzda bulunan videoCapture fonksiyonuna videonuzun ismi ve uzantısını yazmanız yeterli olacaktır. Video okuma işlemimiz kameradan görüntü alma işlemimiz ile benzerdir. Şuan için projemizde değişen tek kısım videoCapture fonksiyonuna gönderdiğimiz parametredir.
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 Temel Video ve Kamera İşlemleri’ nden bahsettik. Umarım sizin için faydalı bir yazı olmuştur. Bir sonraki OpenCv’de Video Boyutlandırma ve Gri Tonlama İşlemi dersinde görüşmek üzere. Eksik ya da yanlış gördüğünüz bir şey varsa lütfen iletişime geçmekten çekinmeyin. Sorularınızı buradan sorabilirsiniz.
Tüm Görüntü İşleme Dersleri için tıklayınız.
Kaynak: Link