Pazar, Eylül 02, 2012

OpenCv ile Ip Kamera Kullanımı + Hareket Dedektörü

  Security Camera + Motion Detection from bluekid on Vimeo.

Ip kameralar artık pek çok işte kullanılıyor.  Doğrudan ağa bağlanmasıyla Internet üzerinden Ip kameranızın görüntüsünü her yerden alabilirsiniz.

OpenCv'nin Ip kameraya ulaşması doğrudan ffmpeg kütüphanesine bağlıdır. Eğer OpenCv kütüphaneniz ffmpeg destekli olarak derlenmemişse aşağıdaki verdiğimiz kodlarla Ip Kamerayı açamazsınız.

Highgui' nin normal video fonksiyonlarını kullanıyoruz.

   VideoCapture vcap;
    if(!vcap.open("videoStreamAddress")) {
        std::cout << "Ip Kamerayı açamadım " << std::endl;
        return -1;
    }
tabiki "videoStreamAddress" yerine kamera adresi yazılacak, adresde

http://username:password@path_to_cam/mjpg/video.cgi?resolution=800x600&req_fps=10&.mjpg


gibi bir şekilde yazılacak biz deneme yapmak için kullanıcı adı ve şifre gerekmeyen bir IP kamera üzerinden denemizi yaptık. Internette "Public IP Camera Urls" diye aratırsanız halen aktif olan benzeri adreslere ulaşabilirsiniz.

Gelelim uygulamamızın ikinci aşamasına. Yani basit bir Güvenlik Kamerası uygulaması yazmaya
  1. Ip kameradan görüntüleri aldıyoruz
  2. Arka plan silme işlemi yapıyoruz. 
  3. Orjinal görüntüyü Siyah Beyaza çeviriyoruz
  4. Ulaştığımız hareketli alanlarıda Siyah beyaz görüntü üzerine kırmızıyla çizdiriyoruz
Örneğimizde GUI olarak FLTK kullanıldı OpenCv'nin  2.4.2 versiyonu kullanıldı.

3 yorum:

Amiral dedi ki...

Allah razı olsun.

Silent eagle dedi ki...

ipcameradan görüntü alamadım bu konuda biraz daha yardım edbilir misiniz . varsa kaynak kod paylaşımı yapabilir misiniz.

bluekid dedi ki...

ilgi kısmın kodu yazıda var zaten
ffmpeg ile ilgili kısma dikkat edin adersi doğru yazın yeter