İPUCU

Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

Kamera ile Hareket Algılama - OpenCV

r0ark - ait Kullanıcı Resmi (Avatar)
E-Mail onayı yapılmamış üye
Üyelik tarihi:
05/2018
Mesajlar:
67
Konular:
13
Teşekkür (Etti):
24
Teşekkür (Aldı):
63
Ticaret:
(0) %
19-05-2018 14:11
#1
Kamera ile Hareket Algılama - OpenCV
Bu konuda, bir bilgisayara bir webcam ile aldığımız fotoğrafların önceden belirlenmiş statik bir arkaplana göre değişimlerini buldurmaya, buna bağlı olarakta o anda oluşan hareketi algılatmaya çalışacağız.

Programın şöyle çalışması gerekiyor:
  • Kamerayı başlat
  • İlk fotoğrafı statik arkaplan olarak belirle
  • Önceden belirlediğimiz arkaplan ile yeni gelen fotoğrafın farklı piksellerini tespit et (Background subtraction)
  • Farklı olan bölgeyi işaretle
Hemen kameradan frame alabilmek için bir WebCam sınıfı yazalım,


Fonksiyonların adları ne yaptıklarını açıkça belirtiyor. Karşılaştırma yaparken gray formatında işlem yapacağız renklerden oluşacak yanlışlardan kaçınmak adına.


Burada, “WebCam” sınıfını miras alan bir “MotionDetector” sınıfı tanımladık. Gördüğünüz üzere, sınıf örneklendiği an kameradan alınan ilk fotoğrafı işlem yapabileceğimiz formata getirip “static_background” adı altında bir değişkene atıyor. Devamında programın kullanışlığını arttırmak için yazdığımız fonksiyonlar bulunuyor.


Yukarıda temel iki fonksiyonumuz bulunuyor. İşi yapan fonksiyon olan, “detect_motion” fonksiyonu, “frame” adı altında önceden belirlenmiş arkaplan ile karşılaştırılacak olan fotoğrafı alıyor.

Kod:
frame_delta = cv2.absdiff(self.static_background, self.frame_blur(self.frame_gray(frame)))
Fonksiyondaki asıl olay olan karşılaştırma işlemi, yukarıdaki satırda gerçekleşiyor. Sonrasında sadece farklı olan bölgeleri daha da belirginleştirip o bölgelerin konumlarını döndürtüyoruz.

Program çalıştığında çalıştırılması beklenen fonksiyon olan “main” fonksiyonu ise, sürekli kameradan fotoğraf alıp hareketi yani değişimi tespit edebilmek için “detect_motion” fonksiyonuna gönderiyor ve dönen değerleri orijinal fotoğraf üzerinde işaretleyip kullanıcıya sunuyor.

Kodların tamamı: https://github.com/r0ark/motion-detector

Aşağıda nasıl çalıştığına dair bir video ve fotoğraf bulunmakta.



Bitirmeden önce, bu projenin çok kolay manipüle edilebileceğini söylemek istiyorum. Hava kararmaya başladığı gibi sapıtacaktır program. Bunun ötesinde, büyük bölümü hareketsiz olan bir alanda kullanılmalı böyle bir şey.

Anlayamadığınız yerde, bilgim neticesinde yardımcı olurum, kolay gelsin

Yararlanılan kaynaklar:
Konu r0ark tarafından (19-05-2018 14:13 Saat 14:13 ) değiştirilmiştir.
'DARK, BufGix, k3~, 0xd2 Teşekkür etti.
BufGix - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.023
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
446
Ticaret:
(0) %
19-05-2018 16:19
#2
Seni bir yerden tanıyor gibiyim
---------------------
~Cahile gelmez benden hayır
KoDa - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2016
Nereden:
127.0.0.1
Mesajlar:
1.438
Konular:
83
Teşekkür (Etti):
65
Teşekkür (Aldı):
147
Ticaret:
(0) %
19-05-2018 16:59
#3
Eline Sağlık
--------------------- Biz Yaz Kış Yağmur Demeden Şafak Oparasyonuna Gider Gibi Uykudan Uyanıp Korkama Sönmez Bu Şafaklarda Yüzen Al Sancak ! Sönmeden Yurdumun Üstünde En Son Ocak ! Derken Taşşak Geçmiyorduk ...
k3~
k3~ - ait Kullanıcı Resmi (Avatar)
Özel Üye
Üyelik tarihi:
10/2015
Mesajlar:
2.881
Konular:
202
Teşekkür (Etti):
1743
Teşekkür (Aldı):
3389
Ticaret:
(0) %
19-05-2018 17:01
#4
Eline sağlık
SleeperGaming12 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2015
Nereden:
Wiz City
Yaş:
22
Mesajlar:
467
Konular:
34
Teşekkür (Etti):
98
Teşekkür (Aldı):
106
Ticaret:
(0) %
19-05-2018 17:02
#5
Bence iş yarayabilir eline sağlık
---------------------
SleeperGaming12
Exec - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2018
Mesajlar:
40
Konular:
4
Teşekkür (Etti):
1
Teşekkür (Aldı):
15
Ticaret:
(0) %
19-05-2018 17:27
#6
Ellerinize sağlık gayet güzel
Viction - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Nereden:
Kanada
Mesajlar:
584
Konular:
35
Teşekkür (Etti):
151
Teşekkür (Aldı):
154
Ticaret:
(0) %
19-05-2018 17:54
#7
Yararlı konu devamı gelirse hoş olur

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı