Pc ekran görüntüsü işleme hk.

Başlatan mert3162, 18 Nisan 2018, 17:13:04

mert3162

Merhaba arkadaşlar bir süredir aklıma takılan bir durum var şimdi güvenlik kamera yazılımlarında bir olay var kameranın baktığı bölgede bir alan tanımlanıyor bu alanda bir hareket olduğunda sistem alarma geçiyor bir nevi kameraya harekete duyarlılık özelliği kazandırılmış oluyor aslında kameraya değilde yazılıma diyelim.

Şimdi benim yapmak istediğim bir yazılım var

sürekli olarak ekran görüntüsünü izlediğim bir pc nin belirlediğim alanında bir değişiklik olursa alarm veren bir dosyayı çalıştıran yada bir klavye tuşuna basan yazılım tarzı bir şey

bu konuyu ne olarak aramalıyım

motion control,screen motion control gibi kelimelerle aradım ancak tam olarak istediğim şeyi bulamadım.

örneğin çalıştığım pc den arka arkaya iki ekran görüntüsü alacak benim belirlediğim bir alanda değişiklik varsa cıktı verecek sekilde bir programı ne diye aramam gerekir ?
|^^^^^^^^^^^^\ ||\
|__PICPROJE.ORG __
||'""|""\___
| _____________ l | |__|__|___| )
(@!)!(@)"""""**|(@) (@)****|(@)---------

 Üstadlarım nonstradam & Logan

foseydon


memoliz188

Merhaba istemiş olduğun şet tam olarak görüntü işle oluyor. Bir zamanlar bende uğraşmış olduğum şey aşağıdaki linkten yola çıkarak bir çok örneğe ulaşabilirsin.
Görüntü işlemenin bir çok kütüphanesi var bunlardan biride foseydon arkadaşımızın belirtiği gibi OpenCV.

https://www.youtube.com/watch?v=-eIz2CNlXn0

OptimusPrime

Buna motion detection deniliyor. Bir alay yontem var en dandigi iki resmi karsilastirmaktan ibaret. Fakat guvenlik kameralarinda bu isi yazilim yapmiyor, kameranin icerisindeki donanim yapiyor. Kameralar genelde h264 gibi sikistirilmis goruntu ureten algoritmalar/donanimlar kullandigindan ve bu algoritma geregi zaten goruntu icerisinde degisen kisimlari buldugundan hareket algilamasi gayet kolay oluyor. Goruntuyu sikistiriken dvr cihazinada burda hareket yakaladim diyor sadece.

Bu isi pc tarafindada yapabilirsin opencv gibi araclarla. Helede linux icin dusunuyorsan frame bufferi ac /dev/fb0  istedigin gibi yaz ciz oku. Gayet kolay olur. Tabi ciddi islemci yuku getirirsin bu durumda.
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

Zoroaster

#4
Ekranı karelere böl. her bir karenin pixel bilgilerinin ortalamasını bul ve bunu low passdan geçirerek o karenin ortalama renk bilgisini elde et ve bu bilgiyi sakla.

Bir başka zamanda aynı işlemi yap ve bir önceki ortalama bilgi ile karşılaştır. Aradaki fark eşik kabul edilen değerden farklı işlemi yapılan kare için alarm durumu var demektir.

Özellikle aydınlatması kötü ortamlarda ve kalitesiz kameralarda gürültü çok fazla olacağından bu tür bir yapıya gitmen gerekir.

Kareleri 100ms gibi zaman aralıklarında karşılaştırman yeterli olacaktır.

Analog sinyal çıkışlı kameralarla çalışıyorsan buradaki mantığı tamamen analog devrelerle uygulayabilirsin.
Seytan deliginden kacti.

foseydon

@Zoroaster o kadar uğraşmaya gerek yok hocam, OpenCV'nin hazır fonksiyonları bu işlemler çok basit bir şekilde yapılabiliyor, 10 satır koda bakar. ama @OptimusPrime ın dediği gibi ciddi birşeyler yapmaya başlayınca bilgisayarın canını çıkartıyor. Optimus'un dediği gibi, bu işe özel yapılmış donanımlar ve işlemciler var. içerisinde birçok fonksiyonu hallediyor, gerekli durumda bilgisayarı ikaz ediyor. bu sayede hem network yükü azalıyor, hem işler daha hızlı ve ucuz hallediliyor.

makdeniz

Karanlık olmadan aydınlık, Ölüm olmadan yaşam mantıksız.