Webcamin bir objeyi takip etmesi nasil saglanabilinir?

Başlatan Digimensch, 11 Mart 2011, 14:20:17

Digimensch

Arkadaslar konunu yeri dogrumu bilemiyecegim ama su Video'da Webcam nasil bir Objeyi takip ediyor?
http://www.youtube.com/watch?v=oFya5x8pne0

Bu görüntüydeki WebCam nasil sadece adamin elindeki kücük Bebek objesini takip ediyor?
Acaba ne tür bir sensor kullaniliyor?

Burak B

#1
Elindeki cismin rengine dikkat et. Ortamda aynı renk başka obje yok.

http://www.roborealm.com/tutorial/color_object_tracking_2/slide010.php

Teorik olarak düşündüğünüzde bu tip şeyler çokta zor değiller. Sadece pratikte karşılaşacağınız engelleri aşacak kadar azminiz olması gerekli. :)
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

mustafa_cmbz

matlap ile daha prof. bişiler yapılabilir...bi aralar fatih diye bir abimiz vardı matlapçı onla konuşurduk ara sıra hatta bu konuyla ilgilide bişeyler sormuştum oda bana konuyu (aklımda kaldığı kadarıyla anlatyım) alınan görüntüyü bir sonraki görüntüyle karşılaştırarak aradaki farkı tayin edip mekanizmayı ona göre hareket ettirdiğinden bahsetmişti...

Digimensch

Peki bildiginiz C# ile yapilmis örnek calismalar veya source codeler varmi?

eseneren

Hocam once bır resım ıcınde belırledıgın objenın yerını nasıl tayın etmesı ıle ılgılı program gelıstırmen,
sonra gereklı ıse bu objeyı sonradan degıstırıp programa tanımlaman,
daha sonrada hızına gore abjeyı takıp ettırmen gereklı ......

Not: Bu tip imeyç presesing :) işlerinde driver yada lagoritma olusturanlar cozunurlugu azaltmak icin obleyı horızon ve vertıcal olarak
1 sıra pıxel var 1 sıra pıxel yok dıye olusuruyor tanımlaya ona gore yapıyor hızdakı faktorunu rakamsal hatırlamıyorum ama etkın oldugunu bılıyorum...

Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

50Cal

Geçen gün basit bir görüntü işleme uygulaması yaparken matlab help'inde, hazır hareket algılama fonksiyonu olduğunu gördüm. kullanıp denemedim. Fakat, hazır fonksiyon kullanmak yerine kodların sıfırdan oluşturulması çok fazla şey öğretir görüntü işleme adına. Ve kodları kendiniz yazarsanız farklı programlama dillerinde de uygulama yapabilirsiniz.
Tabi bu videodaki uygulama yeni başlayan birisi için pek kolay değil. Büyük beyaz bir kağıda çizilmiş siyah bir daire'yi takip ettirmek çok daha kolay olacaktır.

Klein

OpenCV isimli açık kaynak kodlu (açık kaynak kod kısmını uydurmuş olabilirim)  bir imaj işleme kütüphanesi var. buradaki fonksiyonlarla yapabilirsiniz.
"OpenCV" anahtar kelimesi ile aratırsanız  örnek  uygulamalara da ulaşırsınız. 

teknikelektronikci

herhalde en kolay kismi pic ile servoyu sürmek olur :) bence önce bu kismi halletseniz( yani usb veya rs232 üzerinden pic ile haberlesip mekanik aksami hareket ettirmek) sonra görüntü islemeye sira gelse daha kolay olmazmi?

c# biliorsaniz sadece boxun icinde fareyi takip eden yaparsiniz (ki bence c# bilen icin sorun degildir) sistemin mekanik ve pic kismini sorusnuz halleder sonra web camdan gelen veriyi isleyerek gene pice bilgi gönderirsiniz daha kolay olmazmi? yani ben olsam böyle bir sey yapmayi denerdim
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

Digimensch

#8
Isin mekanik kismi sorun değil.
PIC ilede USB üzerinden baglanti kuracagim , az cok USB - HID konusunda bilgim  var.Sanirim 18F4550 ile isimi halledebilirim.
Boxun icinde fareyi takip eden yaparsiniz demekle ne kast ettiginizi cikartamadim.Biraz daha aciklayici anlatirsaniz sevinirim.

teknikelektronikci

Alıntı yapılan: Digimensch - 12 Mart 2011, 23:25:58
Isin mekanik kismi sorun değil.
PIC ilede USB üzerinden baglanti kuracagim , az cok USB - HID konusunda bilgim  var.
Boxun icinde fareyi takip eden yaparsiniz demekle ne kast ettiginizi cikartamadim.Biraz daha aciklayici anlatirsaniz sevinirim.

visual studio da ismini unuttum simdi combox benzeri bir sey var veya herhangi bir nesne hatirlamiorum herhangi bir yeri referans alip farenin de sonucta bu cerceve icindkei x ve y degerlerini bulup bunu pic kartina aktarip fareyi oynatiginizda farenin eksenlerine göre webcam servo motorlarini oynatmak.amac mekanik ve pic yazilimini olusturmak
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

Digimensch

#10
Alıntı yapılan: teknikelektronikci - 12 Mart 2011, 23:30:56
Alıntı yapılan: Digimensch - 12 Mart 2011, 23:25:58
Isin mekanik kismi sorun değil.
PIC ilede USB üzerinden baglanti kuracagim , az cok USB - HID konusunda bilgim  var.
Boxun icinde fareyi takip eden yaparsiniz demekle ne kast ettiginizi cikartamadim.Biraz daha aciklayici anlatirsaniz sevinirim.

visual studio da ismini unuttum simdi combox benzeri bir sey var veya herhangi bir nesne hatirlamiorum herhangi bir yeri referans alip farenin de sonucta bu cerceve icindkei x ve y degerlerini bulup bunu pic kartina aktarip fareyi oynatiginizda farenin eksenlerine göre webcam servo motorlarini oynatmak.amac mekanik ve pic yazilimini olusturmak

Dostum bir an icin PIC ve mekanizmayi unutalim.
Ben su Video'daki WebCam Object Tracking'i C# ile nasil yapabilirim? Kaynak Kod veren bildigin yer varmi?
http://www.youtube.com/watch?v=IcydFVAhVys

C# ile su an bir WebCam görüntüsünü Foruma alabiliyorum , buraya kadar sorunum yok.
Simdi görüntüde istedigim Objeyi (Renkli bir Nesne) yukardaki Filmde görüldügü gibi nasil takip edebilirim? Mantik ne?

Klein

https://www.picproje.org/index.php?topic=20844.0

Bir sorun için aynı öneriyi iki kez tekrarlamayı sevmiyorum.  Ya başlığı açan kişi tüm yazılanları okumak yerine son yazılanları okumayı yeğeliyor. Bu da aradaki mesajların kaynamasına neden oluyor.  Ya da önerilen yöntemi karmaşık bulup daha kolaycı yolları zorluyor.
Burada tekrar etmemin sebebi ise ,  uzun zamandır forumda çok nadir görülen ciddiyette bir projeye heveslenilmiş olması.

İntel bu gibi işler için bir kütüphane yapmış. Belki başka birçok yolla yapılabilir. Ama bu kütüphane hakkında yazı , örnek , bilgi içeren binlerce web sayfası olduğu düşünülürse , başlangıç için en doğru yol olacaktır.
Derseniz ki ben OpenCV haricinde bir yöntemle yapmak istiyorum, OpenCV kütüphanesi ilgimi çekmiyor, bunun için halen bunu nasıl yaparım sorusunu sormaya devam ediyorum.  Bildiğim başka bir yöntem yok.  Başka öneriler olursa ilgimi çeker.

https://www.picproje.org/index.php?topic=20844.0
http://mseker.com/opencv-1/opencv-ile-yuz-algilama
 

teknikelektronikci

klein hocam aslinda hakli :)
verdigi linklerin icinde olan linkde ise zaten en basitinden olay aciklanmis

http://mseker.com/opencv-1/opencv-ile-yuz-algilama

birakin visual studio 2010 v.s devc++ ile yapmis
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

muhittin_kaplan

Kalman Filter ile yapılmış videoları
(nasıl olduğu hakkında sadece genel bilgim var. önkestirim yolu ile bir sonraki adımını hesaplıyorlar)




bir arkadaşın dediği gibi bu aralar çok moda kalman bilmeyene kız vermiyorlar. tek amacım kalman öğrenmek
buradan bir çalışma grubu ile kodlara dökebilsek ne güzel olur.

Digimensch

Ahkam kesmeyin lütfen yaaa.
C#'i yeni yeni kavramaya calisiyoruz tutmusunuz OpenCV den bahsediyorsunuz , "Bir sorun için aynı öneriyi iki kez tekrarlamayı sevmiyorum" türü cevaplar veriyorsunuz.
Bakin kimse kimseyi Cevap yaz diye zorlamiyor.Istemeyen Cevap vermez !!!
Neden her konuda butür Cevaplar veriliyor , neden insanlarimiz "aman sende"  türü Cevaplar yaziyor anlamiyorum !!!

Istemeyen Arkadaslar lütfen Cevap vermesin , zahmet etmesin....