Picproje Elektronik Sitesi

ENDÜSTRiYEL OTOMASYON => Sensörler ve Transdüserler => Konuyu başlatan: Digimensch - 11 Mart 2011, 14:20:17

Başlık: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 11 Mart 2011, 14:20:17
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?
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Burak B - 11 Mart 2011, 14:28:44
Elindeki cismin rengine dikkat et. Ortamda aynı renk başka obje yok.

http://www.roborealm.com/tutorial/color_object_tracking_2/slide010.php (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. :)
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: mustafa_cmbz - 11 Mart 2011, 18:28:19
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...
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 12 Mart 2011, 13:51:01
Peki bildiginiz C# ile yapilmis örnek calismalar veya source codeler varmi?
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: eseneren - 12 Mart 2011, 14:28:10
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...

Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: 50Cal - 12 Mart 2011, 16:37:13
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.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Klein - 12 Mart 2011, 20:44:59
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. 
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: teknikelektronikci - 12 Mart 2011, 23:21:00
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
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: 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.Sanirim 18F4550 ile isimi halledebilirim.
Boxun icinde fareyi takip eden yaparsiniz demekle ne kast ettiginizi cikartamadim.Biraz daha aciklayici anlatirsaniz sevinirim.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: 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
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 13 Mart 2011, 01:33:22
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?
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Klein - 13 Mart 2011, 02:03:30
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
 
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: teknikelektronikci - 13 Mart 2011, 12:02:14
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
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: muhittin_kaplan - 13 Mart 2011, 12:12:30
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.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 14 Mart 2011, 00:17:18
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....
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Klein - 14 Mart 2011, 01:24:00
Alıntı Yap
C#'i yeni yeni kavramaya calisiyoruz tutmusunuz OpenCV den bahsediyorsunuz
Doğrudur!
Birisi bir soru sorduğunda eski mesajlarına bakmıyorum. Kişinin  yeterliliğini sorgulamıyorum. Kardeşim madem bu kadar bilgin var niye böyle bir projeye hevesleniyorsun demiyorum. Kim ne sorarsa sorsun, acemi-usta ayrımı yapmadan en doğru cevabı vermeye çalışıyorum. Bazen bu yüzden sazan durumuna düştüğüm de oluyor.

Görüntü işleme gibi oldukça ileri seviye bir uygulamayı hedefleyen birinin , daha önce bununla ilgili yeterli araştırmayı yapmış olduğunu ve kendisini bu iş için yeterli gördüğünü varsayarak cevap yazıyorum.
Görüntü işlemeyi hedefleyen birinin OpenCV kütüphanesini kullanabilecek yeterlilikte olduğunu varsaymak sanırım hata. Bu konuda özür diliyorum.

Alıntı YapBakin kimse kimseyi Cevap yaz diye zorlamiyor.Istemeyen Cevap vermez !!!

Zaten istemeyen cevapvermiyor. Birisi bir soruya cevap veriyorsa , soru soranın yapmadığı veya yapamadığı araştırmayı kendisi yapıp , sağdan soldan link, doküman vs... buluyorsa zaten bunu istediği için yapıyordur.

Alıntı YapNeden her konuda butür Cevaplar veriliyor , neden insanlarimiz "aman sende"  türü Cevaplar yaziyor anlamiyorum !!!
"Aman sende" türü bir cevap şöyle olabilirdi.
"Kardeşim bu iş çok zor bi iş , uğraşma böyle işlerle."
Ya da "Standart webcam'de bile var git webcam al onun yazılımı işini görür."
Ama gecenin bir yarısı OpenCV ile ilgili onlarca dokümanı tarayıp , içerdikleri kodlara göz atıp en basit uygulanabilir kodu bulup linkini yazmışım.
Sizce bu "aman sende" türü bir cevap mı?

Alıntı Yap"Bir sorun için aynı öneriyi iki kez tekrarlamayı sevmiyorum" türü cevaplar veriyorsunuz.
Evet aynı öneriyi iki kez tekrarlamayı sevmiyorum. Çünkü:
Bir öneride bulunuyorsunuz , bir sebeple pas geçiliyor. Sebebin ne olduğu önemli değil. Ve aynı öneriyi ikinci kez tekrar ettiğinizde , "benim önerim en güzeli , lütfen benim önerimi değerlendirin" , " Bir şey söyledim ama siz ciddiye almadınız ,noolur beni ciddiye alın" der gibi bir duruma düşüyorsunuz. Ya da ben böyle bir duruma düşeceğimi zannediyorum. Bu yüzden de önerim pas geçilmişse , bir sebebi vardır diye üzerinde durmuyorum.  Dikkat edin , bir mesaja iki kez cevap vermeyi sevmiyorum demedim. Aynı öneriyi iki kez tekrar etmeyi sevmiyorum dedim.
Ama sizin mesajınıda bunu yapmadım. Çünkü mesajınızı ciddiye almıştım. Ne duruma düşeceğimin önemi yok ,ben bir kez daha tekrar edeyim ki bunun üzerinde bir daha düşünsün dedim. 

Kolay gelsin!   
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 14 Mart 2011, 23:43:27
Lütfen siz bana artik Cevap vermeyin.Benim yazdigim bir Topigi gördügünüzde icerigine dahi bakmayin.Sizin bilginiz sizin olsun.
Ilk cevabiniz Böbürlenme kokuyor !!!
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 15 Mart 2011, 00:12:27
Arkadaslar Projemi su hale getrimis bulunmaktayim.
WebCami iki Servomotor ile USB üzerinden ve kendi yazdigim yazilimla Kontrol edebiliyorum.
PC üzerinde su an iki yazmis oldugum yazilim kullaniyorum.Ama ilerde ikisini birlstirip teke indirecegim.
1.yazilim WebCam görüntüsünü alan
2.yazilim Servo Motorlari USB üzerinden kontrol eden

Neyse amacim simdi Color Tracking olayini , WebCam görüntüsünü aldigim yazilim üzerinde gerceklestirip Trackin olayina göre Servo Motorlarin hareketlerini yönlendirmek.
Acaba bu isi uygulamis Turkce örnek kaynak varmi yada elinde örnek olan varmi?
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: FullMetal - 15 Mart 2011, 12:48:41
Selam,

CMUCam ile ilgili birkaç türkçe kaynağa rastladım, google dan bulabilirsin. Projenin amacı nedir? Tam olarak ne yapmak istiyorsun?

İyi çalışmalar.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: eseneren - 15 Mart 2011, 13:25:27
Selam,
webcam 1 usb, servo controller farklı bır usb ıle mı calısıyor .?
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 15 Mart 2011, 18:33:57
@FullMetal
Örnegin bir Cismi izleyen Robot Araba.
Ama Camaradan görüntü üzerinde  bir Objeyi nasil algilayabilirim? Örnegin kirmizi Rengi?
Konunun basinda verdigim Film örnegindeki gibi..
Neyse sanirim burda Cevabima yanit bulamiyocagim !!
En iyisi C# programlamanin agirlikli olarak yer aldigi Forumlarda soruma cevap aramak.


Alıntı yapılan: eseneren - 15 Mart 2011, 13:25:27
Selam,
webcam 1 usb, servo controller farklı bır usb ıle mı calısıyor .?

Evet malesf öyle.
Web Cam ayri ve PIC18F4550 ayri USB üzerinden Sisteme tanitiliyor.
Yanliz Filmde pek görünmüyor ama PIC bir Deneme karti üzerinde su an.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 20 Mart 2011, 17:21:43
Calismamin son hali...


- 2 Servo Motor
- 1 WebCam
- PIC deneme Karti
- PIC 18F4550

Calismam kisaca söyle:
USB HID ile PIC Kard üzerindeki USB Destekli PIC 18F4550 'ye komutlar göndermek ve bu Komutlara göre kendisine bagli Servi Motorlari
hareket ettirmek.

Artik Color veya Objeckt Tracking olayina baslayacagim insallah sonuc alirim...
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: eseneren - 20 Mart 2011, 18:11:08
Hocam eline saglık cok guzel yapmıssın, bende aynısını yapmak ısterdım.
Programın da led yak sondur var sanırım onlar kamera ustundekı ledlerı yakıp sondurmek ıcın.

Fıkır vermek amaclı; yerınde olsam ley yak sondur butonu yanına otomatık dıye buton koyup aktıflendıgınde 1 sn aralıklarla kamera fotoya gore ısık bellı sevıyenın
altına dustunde ledı yakar bellı degerın ustunde ıkende sonuk yapardım.

Web cam ıle goruntuyu nasıl aktardın bılmıyorum ama onu resım olarak algılatabılır isen resımdekı toplam renk degerını hesaplayacak alt programı yazıp yollayabılırım faydası olacak ıse.

Elıne saglık... Saygılar
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 11 Haziran 2011, 14:42:43
Görüntüyü bir picturebox aliyorum.Hatta filtrelemed yapabiliyorum.
sorunum simdi filtreleme yaptigimda örnegin sadece kirmizi rengi algilamak istiyorum.
Örnegin kirmizi rengi picturebox icinde algilayacak ve o kirmizi rengin etrafina bir kare cizmek, bu kirmizi rengin o anda picturebox üzerindeki koordinatlarini almak istiyorum...
Bunu c# ile nasil yapabilirim bir fikir verirseniz sevinirim.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 17 Ekim 2011, 23:03:52
en sonuda yukardaki Projemin yazilim kismina Color Tracking olayinida ekledim.
Su an ekrandaki bir rengi algilayip o rengi dikdörtgen ile cevreleyebiliyorum.


Simdi sorunum su:
WebCam yine kendimin kontrol ettigi Servo Motorlar üzerinde.Dikkat ederseniz Programdada iki tane TrackBar var bu trackbarlarla servo motorlari saga-sola ve yukari-asagiya oacak sekilde hareket ettiriyorum.
Istedigim olay su:
Ben webCam önündeki renkli objeyi hareket ettirdigimde WebCam da o objeyi takip etsin.
Bunun icin Program üzerinde bulunan pictureBox1 in tam orta nokta koordinatlarini
int x=pictureBox1.Width/2;
int y=pictureBox1.Height/2; seklinde aliyorum.
Yine Ekran icindeki Renkli objeninde tam orta nokta koordinatlarinida
int objectX = objectRect.X + objectRect.Width / 2;
int objectY = objectRect.Y + objectRect.Height / 2; seklinde aliyorum.Simdi PictureBox1 in orta noktasi elimde , objenin orta noktasida elimde.
Nasil bir yöntem izleyimki , renkli objenin orta noktasini , picturebox1'in orta noktasina getireyim.
Bunu yaptigimda webcam picturebox1'in orta noktasina , renkli objenin orta noktasini getiecek böylece renkli obje devamli ekranin orta noktasinda cekilecegi icin webcam kendini renkli objeye cevirmis olacak.
Bu isi nasil yapabilirim nasil bir mantik veya yöntem uygulayabilirim.
Yardimci olacak olan arkadaslara simdiden tesekkürler.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: justice_for_all - 17 Ekim 2011, 23:11:32
guzell calisma hocam peki kameradan goruntu almak icin herhangi bir visual studio eklentisi kullandinizmi?
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: mozkan87 - 17 Ekim 2011, 23:27:49
Aslında sen gerekli olan bütün malzemeleri çıkartmışsın. Bu nu video olarak değilde 2 adet frame olarak ele alırsak. Sana lazım olan 1. frame deki renkli objenin koordinatları ve 2. frame deki objenin koordinatları. Bu bilgiler zaten sende mevcut. Yapman gereken PID  (http://en.wikipedia.org/wiki/PID_controller)mantığı ile 2. frame deki objeyi picturebox'ın orta noktasına almak. Ama daha ilkel olarak düşünürsek 1. frame deki objenin yeri ile 2. frame deki objenin yeri arasındaki farkı alıp objenin ne tarafa hareken ettiğini bulmak ve ona göre step motora veri göndermek.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 17 Ekim 2011, 23:38:27
 Aforge kütüphanesini kullandim am VS kütüphanesi değil.
Alıntı yapılan: mozkan87 - 17 Ekim 2011, 23:27:49
Aslında sen gerekli olan bütün malzemeleri çıkartmışsın. Bu nu video olarak değilde 2 adet frame olarak ele alırsak. Sana lazım olan 1. frame deki renkli objenin koordinatları ve 2. frame deki objenin koordinatları. Bu bilgiler zaten sende mevcut. Yapman gereken PID  (http://en.wikipedia.org/wiki/PID_controller)mantığı ile 2. frame deki objeyi picturebox'ın orta noktasına almak. Ama daha ilkel olarak düşünürsek 1. frame deki objenin yeri ile 2. frame deki objenin yeri arasındaki farkı alıp objenin ne tarafa hareken ettiğini bulmak ve ona göre step motora veri göndermek.
Bende söyle düsünmüstüm.
Picturebox1'in orta noktasi ile , Renkli objenin orta noktasinin arasindaki farki alip, o fark kadar servo motorleri hareket ettirmek.
Ama sorun su bazen renkli obje yukari sagda  bazen yukari solda oluyor , bazen asagi solda olacagini düsünürsem bu renkli obejenin koordianatlari ile , picturebox1'in orta nokta kooardinatlari arasindaki farki nsil alacagimi bilemiyorum....
acaba farki söyle alabilirmiyim olurmu?

                    int farkx;
                    int farky;

///// Picturebvox1'in orta noktasi
                    int x = pictureBox1.Width / 2;
                    int y = pictureBox1.Height / 2;   
///// Renklo objenin orta noktasi               
                    int objectX = objectRect.X + objectRect.Width  / 2;
                    int objectY = objectRect.Y + objectRect.Height / 2;

                    if (objectX < x && objectY<y)
                    {
                        farkx=x += objectX - x;
                        farky=y += objectY - y;
                    }
                    else
                    {
                       farkx= x - objectX;
                       farky = y - objectY;
                    }
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: mozkan87 - 18 Ekim 2011, 00:27:01
Resim iki boyutlu olduğu için zaten elinde (x,y) olmak üzere iki adet koordinat bilgisi var. Aynı şekilde iki adet de servo moturun olduğunu tahmin ediyorum. Bunlardan bir tanesi x boyutunda 2.si y boyutunda hareket etmeliler. Bu nedenle iki koşullu bir if döngüsü ile bu işlem yapılamaz gibi geliyor bana. 4 koşullu bir if döngüsü olmalı ki bütün olasılıklar çalışsın. Yani
1. döngüde obje hem yukarı hem sağa mı gitmiş?
2. döngüde obje hem yukarı hem sola mı gitmiş?
3. döngüde obje hem aşağı hem sağa mı gitmiş?
4. döngüde obje hem aşağı hem sola mı gitmiş?
bunları kontrol etmelisin. Bu şekilde eğer obje hem aşağı hem yukarı gittiyse 1. servo ya yukarı git. 2. servo ya sağa git demelisin.

Hatta belki bu kontrolü iç içe 2 if döngüsüyle yapmak daha uygun olabilir.
if(yukarı mı?){
    if(sağa mı?){
        1. servo yukarı git
        2. servo sağa git
        }
    else {
        1. servo yukarı git
        2. servo sola git
        }
    }
else{
    if(sağa mı?){
        1. servo aşağı git
        2. servo sağa git
        }
    else {
        1. servo aşağı git
        2. servo sola git
        }
    }
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: evreno - 18 Ekim 2011, 00:44:51
hocam fikir vermek açısından bi prog yazdım bi bak istersen kordinat sistemine göre x,y değerlerini picturebox un merkezine göre  sana gösteriyor o değerlere göre servoları yönlendirirsin
http://www.dosya.tc/server5/X0Rxfy/Ortala.rar.html (http://www.dosya.tc/server5/X0Rxfy/Ortala.rar.html)
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: iyildirim - 18 Ekim 2011, 00:52:41
Objenin ve pictureBox merkezlerinin X ve Y eksenin de ayrı ayrı farklarını alın.
Sonucun pozitif veya negatif olması önemli değil. Bunu servonuzun karakterine ve webcamin zoom miktarına göre belirlenecek bir katsayı ile çarpın. Eğer ekran koordinatları ve servo yönü ters ise katsayınızı negatif yapın. 
Sonucu servo açısı, veya PWM darbe süresi gibi düşünebilirsiniz.  Servonun o anki açısına bunu ekleyin.
Gerekirse PID gibi yöntemlerle ince ayar çekmek de mümkün..
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: evreno - 18 Ekim 2011, 00:58:32
http://touchless.codeplex.com/ (http://touchless.codeplex.com/)

bu projeye de bakabilirsiniz
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 30 Ekim 2011, 13:04:34
(http://s14.directupload.net/images/111030/ndzwsktn.jpg)

Sekilde görüdügü gibi pictureBox ve Objenin Merkez Koordinatlarini alabiliyorum.Ve bu Koordinatlari ortak bir kat sayiaya böylüyorum Servo motorlara gönderecegim Degerler haline getiroyrum.
Ama bir türlü Objenin merkezini Servo motorlara takip ettiremiyorum.
Cünkü Objenin merkezinin 5 ihtimal konumda olma olasiligi var.
Sol Üst kösede - Sag üst kösede - Sol Alt kösede - Sag Alt kösede - Merkezde(yani Picturebox'un tam ortasinda)
Buna göre söyle Kod yazdim ama bir türlü olmuyor.
x, y= PictureBoxun merkez koordinatlari
objectX, ObjectY= Objenin merkez Koordinatlari                       
if (x < objectX | y < objectY)
                        {
                         x += 1;
                         y += 1;
                        }
                        if (x > objectX | y < objectY)
                        {
                            x -= 1;
                            y += 1;
                        }
                        if (x < objectX | y > objectY)
                        {
                           x -= 1;
                            y += 1;
                        }
                        if (x > objectX | y > objectY)
                        {

                           y -= 1;
                            x -= 1;

                        }
                        if (objectX == x | objectY == y)
                        {

                            y = objectY;
                            x = objectX;

                        }

                        motorControl(0, (byte)y); // Yukari-Asagi
                        motorControl(1, (byte)x); // Sag-Sol


Acaba nasil bir yöntem uygulamaliyim?
Not:ServoMotor1 ve Servomotor2'ye 1 ile 16 arasi degerlerin byte olarak gönderiyorum servolarin hareketleri icin.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 04 Kasım 2011, 14:15:37
Yardimci olabilecek arkadas yokmu?
Yada söyle sorayim?
Ben WebCam ile algiladigim bu objeye webcami odaklayip , objeye göre webcami nasil hareket ettireyim?
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: SERRO EFE - 04 Kasım 2011, 14:29:20
objenin merkezini takip etmek yerine objeyi ekranın ortasına yerleştirmeye çalışsan ,obje sürekli ekranın ortasında görünür
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: kralsam - 04 Kasım 2011, 15:17:27
Hocam daha önce bu tarz uygulama yapmadım ama şöyle birşey düşündüm. Belki faydası olabilir.
Ekranda konum olarak zaten nesneleri işaretleyebiliyorsun sanırım. Dolayısıyla ekranı kartezyen kordinat gibi fark alarak değerlendirsen ve nesnenin düştüğü bölgeye göre konum bilgilerini göndersen sanırım sorunu halledebilirsin.

mesela yukarıdaki örnek resimde 11-7 = 4 birim sağa, 12-7= 5 birim aşağı gibi.

Nesne (x,y) = (3,5) olsaydı mesela 3-7 = -4 yani 4 birim sol, 5-7 = -2 yani 2 birim yukarı gibi..

Hocam birde paylaştığın kodu yeni inceledim. if sorgularını |(veya, hatta tam olarak veya sayılmaz.) yerine && ( ve ) ile yaparsan sorun çözülür diye tahmin ediyorum. Ama point point ilerleyeceğinden biraz yavaş bir çözüm olmuş olur.

İnşallah fikir verebilmişimdir. Sonuçları paylaşırsanız bizim içinde faydalı olacaktır. Kolay gelsin.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 04 Kasım 2011, 17:54:20
Alıntı yapılan: kralsam - 04 Kasım 2011, 15:17:27
Hocam daha önce bu tarz uygulama yapmadım ama şöyle birşey düşündüm. Belki faydası olabilir.
Ekranda konum olarak zaten nesneleri işaretleyebiliyorsun sanırım. Dolayısıyla ekranı kartezyen kordinat gibi fark alarak değerlendirsen ve nesnenin düştüğü bölgeye göre konum bilgilerini göndersen sanırım sorunu halledebilirsin.

mesela yukarıdaki örnek resimde 11-7 = 4 birim sağa, 12-7= 5 birim aşağı gibi.

Nesne (x,y) = (3,5) olsaydı mesela 3-7 = -4 yani 4 birim sol, 5-7 = -2 yani 2 birim yukarı gibi..

Hocam birde paylaştığın kodu yeni inceledim. if sorgularını |(veya, hatta tam olarak veya sayılmaz.) yerine && ( ve ) ile yaparsan sorun çözülür diye tahmin ediyorum. Ama point point ilerleyeceğinden biraz yavaş bir çözüm olmuş olur.

İnşallah fikir verebilmişimdir. Sonuçları paylaşırsanız bizim içinde faydalı olacaktır. Kolay gelsin.

Deniyecegim ...

Alıntı yapılan: SERRO EFE - 04 Kasım 2011, 14:29:20
objenin merkezini takip etmek yerine objeyi ekranın ortasına yerleştirmeye çalışsan ,obje sürekli ekranın ortasında görünür
Bu nasil olacak?
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: salih18200 - 05 Kasım 2011, 00:06:24
Objeyi direk x,y gibi sabit bir noktaya odaklamaya çalışırsan bence kamera sürekli salınıma girer o noktaya odaklayamaz, kameranın okadar hassas hareket edeceğini sanmıyorum bu yüzden objenin orta noktasını kameranın orta noktasının belli aralıklarına getirmeye çalışsan daha iyi olur.

Demek istediğim obje merkezi (10,60) olsun picturebox'ın ortasıda (300,300) olsun, sen objenin merkezini direk (300,300) gelecek şekilde if şartları yazmktan ziyade. Objenin merkezini (300+-50,300+-50) gibi bir alana (kenarları 100pixel merkezde bir kare gibi düşün) getirmeye çalışsan daha sağlıklı olur.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 06 Kasım 2011, 00:23:04
Alıntı yapılan: salih18200 - 05 Kasım 2011, 00:06:24
Objeyi direk x,y gibi sabit bir noktaya odaklamaya çalışırsan bence kamera sürekli salınıma girer o noktaya odaklayamaz, kameranın okadar hassas hareket edeceğini sanmıyorum bu yüzden objenin orta noktasını kameranın orta noktasının belli aralıklarına getirmeye çalışsan daha iyi olur.

Demek istediğim obje merkezi (10,60) olsun picturebox'ın ortasıda (300,300) olsun, sen objenin merkezini direk (300,300) gelecek şekilde if şartları yazmktan ziyade. Objenin merkezini (300+-50,300+-50) gibi bir alana (kenarları 100pixel merkezde bir kare gibi düşün) getirmeye çalışsan daha sağlıklı olur.
Biraz daha aciklama yapabilirmisin ?
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: xxlxxl - 07 Kasım 2011, 18:12:25
sayın arkadaşım güzel bir proje fakat webcamdaki objeyi nasıl yakalıyorsun bunun bir örneğini verirmisinben uydu anten ve pan tilt kontrol programı yazdım belki bu birleştirsek ola bilir fakat bilmediğim şu web camdaki objeyi nasaıl tespit ediyosun delphiile ilgili yardımcı ola bilirmisin
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 10 Kasım 2011, 00:28:00
Alıntı yapılan: xxlxxl - 07 Kasım 2011, 18:12:25
sayın arkadaşım güzel bir proje fakat webcamdaki objeyi nasıl yakalıyorsun bunun bir örneğini verirmisinben uydu anten ve pan tilt kontrol programı yazdım belki bu birleştirsek ola bilir fakat bilmediğim şu web camdaki objeyi nasaıl tespit ediyosun delphiile ilgili yardımcı ola bilirmisin

Öncelikle bu isi C# ile yazdim.
Ikincisi hazir bir Kütüphane kullandim , delphide bunun adi hazir bir Compenent oluyor sanirim.
Kullandigim kütüphane adi Aforge , Delphi icin varmi bilmiyorum.
-Bu Aforge kütüphanesi ile görüntüyü alip Picturebox1'de gösteriyorum.
-PictureBox1 deki görüntüyü yine Aforgenin Methodlari ile Filtreliyorum(Sadece Mavi veya sadece Kirmizi Rengi alglatiyorum)
-Filtreleme ile algiladigimiz Rengin etrafini BlobCounter sinifi kullanarak Rectangle olusturup cevreliyorum.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: xxlxxl - 10 Kasım 2011, 10:55:13
paylaşım yaparmısın bende delphide yapmak istiyorum yardımcı olurmusun teşekür ederim..
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 10 Kasım 2011, 16:31:24
Tabiki buyur.
https://rapidshare.com/files/2857524543/Aforge_Color_Tracking.rar
dedigim gibi C# ile yazdim.Kameradan gelen görüntüyü mavi veya kirmizi sekilde secersen o renkdeki objeleri algilayip cevresini dikdörtgen ile kapladigini görürüsün...!
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: xxlxxl - 10 Kasım 2011, 17:44:42
teşekür ederim delphide uğraştım hep c ve bunun gibi dilleri pic programlama ve devre yapımlarında kullanıyorum fakat c dili neden görsel değil delphiye uyarlama şansım varmı acaba
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Seckin ALAN - 10 Kasım 2011, 23:36:42
takip etme işlemini çözdün mü ?
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 10 Kasım 2011, 23:39:29
Hayir cözemedim yukardaki söylenenleri denedim olmuyor.
salih18200 adli arkadas birseyden bahsetmis ama onuda anlayamadim, aciklik getirmesini istedim oda cevap yazmadi birdaha...
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Seckin ALAN - 10 Kasım 2011, 23:54:11
hocam şöyle bir algoritma geliştirsen
objenin x ve y haraketlerini alababiliyorsun sanırım
objenin x ve y sini belirle eğer obje y düzleminde haraket ettiyse usbye bilgiyi gönder tabi burada sağa sola işini ayarlayabilmek için bir orijin belirlemek gerekiyor.
Orijinin Kameradan gelen görüntünün x ve y düzleminde ortası olsun, obje bu koordinata  koy.
(http://c1111.hizliresim.com/r/b/g7gs.png) (http://bit.ly/c25MCx)
bundan sonra işlem söyle ilerler obje x düzleminde haraket ettiyse objenin bulunduğu yeni  konumdan eski konumunu çıkart aradaki fark x düzleminde +10 px ise kamera sağa -10 ise kamera sola dönecek  tabi bunun yanında y düzleminin farkına bakmalısın buradaki fark illa 5 px vs olur onu dikkate almamalısın.
Sanırım anlattım rakamlar örnek salihte bunu anlatmak istemiş

Biz cisim takibini nasıl yapıyoruz gözümüz ile. İlk baş resmin ortasına sabitliyoruz sonra sağa sola yukarı aşağı takip ediyoruz
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: xxlxxl - 11 Kasım 2011, 00:08:37
delphide yapadım yapılmış örnekler var hiç birinin sourcersini paylaşmamışlar delphiile alaklı bir örnek bulamadım uğraşmam içinörnek bulamadım
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 11 Kasım 2011, 00:39:21
Alıntı yapılan: Seçkin ALAN - 10 Kasım 2011, 23:54:11
hocam şöyle bir algoritma geliştirsen
objenin x ve y haraketlerini alababiliyorsun sanırım
objenin x ve y sini belirle eğer obje y düzleminde haraket ettiyse usbye bilgiyi gönder tabi burada sağa sola işini ayarlayabilmek için bir orijin belirlemek gerekiyor.
Orijinin Kameradan gelen görüntünün x ve y düzleminde ortası olsun, obje bu koordinata  koy.
(http://c1111.hizliresim.com/r/b/g7gs.png) (http://bit.ly/c25MCx)
bundan sonra işlem söyle ilerler obje x düzleminde haraket ettiyse objenin bulunduğu yeni  konumdan eski konumunu çıkart aradaki fark x düzleminde +10 px ise kamera sağa -10 ise kamera sola dönecek  tabi bunun yanında y düzleminin farkına bakmalısın buradaki fark illa 5 px vs olur onu dikkate almamalısın.
Sanırım anlattım rakamlar örnek salihte bunu anlatmak istemiş

Biz cisim takibini nasıl yapıyoruz gözümüz ile. İlk baş resmin ortasına sabitliyoruz sonra sağa sola yukarı aşağı takip ediyoruz

Sanirim anladim x koordinati icin örnek veriyorum
Yani söyle:
Objenin x koordinati=x diyelim


if(objenin aktuelkoordinati-objenin bir önceki koordinati==10)
motor 1 adim saga

if(objenin aktuelkoordinati-objenin bir önceki koordinati==-10)

motor 1 adim sola
ayni islemler y koordinatlari icinde yapilacak.

Ozaman ben Objenin son koordinatindan bir önceki koordinatinida devamli bilmem gerekecek.
Yani aktuelkoordinattan , bir önceki koordinati cikarabilmem icin, bir önceki koordinati nasil alacagim?

Yada bu farki aktuellkordinattan bir önceki kkordinata göre degilde
Picturebox1 in x koordinatina göremi yapsam!!?
Yani objenin x koordinati ile , picturebox1ìn x koordinati arasindaki farki alsam bu fark 10 ise sag dön, -10 olunca sola dön seklindemi yapsam?
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: RcALTIN - 11 Kasım 2011, 03:26:16
300x300 lük picturebox üzerinde, ekranın sağ alt köşesindeki nesneyi algıladığında 260,260 gibi bir koordinat elde edebiliyormusun?

evetse, o halde nesneyi ekranın tam ortasına getirmenin, yani 300x300 lük pbox için 150,150 koordinatında(bizim orijinimiz aynı zamanda) sabit tutmanın peşindeyiz.

nesne tanındıktan sonra aldığımız koordinat değerini x ve y ekseninde ayrı ayrı değerlendirerek 150 üstündeyse (+150) bir yöne, 150 altındaysa(-150) AKSİ yöne olmak üzere 2 eksende kamera hareketi sağlanmalı. hareketten kastım birer adım olmak zorunda, hassas bir step motor olabilir, ne kadar hassas o kadar mükemmel odaklanma...

gelen sonuca göre(hareketten sonra ki alınan yeni ekran görüntüsüne göre) bir sonraki hareketler aynen hesaplanmalı. ancak bunu hallettikten sonra önünüze sonsuz hareketlenme sorunu çıkacak, önlemek için bir sonraki adımda orijine yaklaşılacağı mı yoksa uzaklaşacağı mı hesaplanıp, artık hareketin kesilmesi(en yakın  pozisyonda sabit kalması) sağlanmalı.

ayrıca nesnenin ekranda kapladığı genişlik ve yükseklik değerlerinin de yarısını alıp orijini doğru bulmak için kullanmak gerekiyor, yoksa nesne ekrana sol üst köşesinden hizalanmış olur.

en basite indirgenmiş haliyle böyle yapılabilir, aforge.net içinde mutlaka vardır bunun hazır kütüphanesi, araştırmak gerek...
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Seckin ALAN - 11 Kasım 2011, 10:54:27
Tam olarak dediğin gibi ama elimde malzeme olmadığı için teorik bu.
param yatarsa bugün bir web cam alıp bir örnek yapmaya çalışırım. Elektronik malzemelerim memlekette şuan yurttayım sana nasıl olması gerektiğini yazarım artık pic ile sen haberleştirirsin.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: kralsam - 11 Kasım 2011, 11:48:04
Alıntı yapılan: Digimensch - 11 Kasım 2011, 00:39:21
Sanirim anladim x koordinati icin örnek veriyorum
Yani söyle:
Objenin x koordinati=x diyelim


if(objenin aktuelkoordinati-objenin bir önceki koordinati==10)
motor 1 adim saga

if(objenin aktuelkoordinati-objenin bir önceki koordinati==-10)

motor 1 adim sola
ayni islemler y koordinatlari icinde yapilacak.

Ozaman ben Objenin son koordinatindan bir önceki koordinatinida devamli bilmem gerekecek.
Yani aktuelkoordinattan , bir önceki koordinati cikarabilmem icin, bir önceki koordinati nasil alacagim?

Yada bu farki aktuellkordinattan bir önceki kkordinata göre değilde
Picturebox1 in x koordinatina göremi yapsam!!?
Yani objenin x koordinati ile , picturebox1ìn x koordinati arasindaki farki alsam bu fark 10 ise sag dön, -10 olunca sola dön seklindemi yapsam?

Hocam benim önceki yazımda bahsettiğim şekilde deneme yaptın mı? Ne gibi bir sonuç ortaya çıktı?

Birde zaten görüntüde Picturebox1 yani kamerada o anda görünen görüntünün merkezini alman lazım.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Seckin ALAN - 12 Kasım 2011, 12:14:12
Alıntı yapılan: Digimensch - 11 Kasım 2011, 00:39:21
Sanirim anladim x koordinati icin örnek veriyorum
Yani söyle:
Objenin x koordinati=x diyelim


if(objenin aktuelkoordinati-objenin bir önceki koordinati==10)
motor 1 adim saga

if(objenin aktuelkoordinati-objenin bir önceki koordinati==-10)

motor 1 adim sola
ayni islemler y koordinatlari icinde yapilacak.

Ozaman ben Objenin son koordinatindan bir önceki koordinatinida devamli bilmem gerekecek.
Yani aktuelkoordinattan , bir önceki koordinati cikarabilmem icin, bir önceki koordinati nasil alacagim?

Yada bu farki aktuellkordinattan bir önceki kkordinata göre değilde
Picturebox1 in x koordinatina göremi yapsam!!?
Yani objenin x koordinati ile , picturebox1ìn x koordinati arasindaki farki alsam bu fark 10 ise sag dön, -10 olunca sola dön seklindemi yapsam?

objenin x ve y değişkenlerini alıyorsun ya onlar için bir değişken ata
int eskix,eskiy;
timer koy 1snlik
timer 1 snyede bir eski x ve y değerlerini güncellesin sende güncel x ve y den eskileri çıkart
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: Digimensch - 15 Kasım 2011, 00:14:26
Sonunda hallettim arkadaslar...
Biraz daha üzerinde calisilmali ama su an icin is bitti sayilir.
Webcam istedigim rengli objeyi algiliyor , ve objenin koordinatlarini takip edip kendisine bagli servo motorlar tarafindan o objenin koordinatlarina dogru dönderiliyor.
Iste son hali yardimci olan arkadaslara tesekkürler
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: kralsam - 15 Kasım 2011, 00:50:07
Tebrik ederim hocam :) Hangi yolu izlediğinizi bizimle paylaşabilirseniz bizede faydası olacaktır.
Teşekkürler.
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: crackerboy - 07 Aralık 2011, 04:36:21
Bir zamanlar bahsettiğiniz konuda bir çalışmam olmuştu. Benim çözümüm ekranı 5 parçaya bölmekti. Ekranı 4 eşit diktörtgene/kareye bölüp tam merkezde bir odak bölgesi yani 5.bir kare seçiyordum.

Dört eşit parçaya bölmek pratikte takip edilecek nesne dört parçadan hangisi içine giriyorsa arkadaşların bahsettiği gibi basit X-Y düzlemindeki mesafe farkı algoritmaları ile halledilebiliyor. Ancak nesneye odaklanmanın yeterli olduğu, artık kameranın sabit kalması gerektiği gibi bir bilgi salih kardeşimizin de dediği gibi bir çözümle mümkün oluyor. Burada 5. kare yani odak merkezi alanına ait sınır bilgisi işin içine giriyor. Odak bölgesi için seçilen alan ister kare/diktörtgen ister dairesel bir alan olabilir size kalmış. Maksat takip edilen nesnenin kamera tarafından alınan görüntüde ortaya çekilmesi için çözüm üretmektir.


Bahsettiğim merkezdeki 5. karenin alanı ne kadar büyük seçilirse asıl görüntüye ait alana yani kamera kadrajına giren alanın tamamına o kadar yaklaşacaktır. Buradaki 5.karenin bir sonraki aşamada sizin için önemli sayılabilecek bir özelliği var: 2 Boyutta düzlemsel olarak takip edilen nesneye eğer kamera yaklaşmakta ise yani örneğin bir robot takip ettiği nesneye doğru yol almakta ve nesneye yaklaşmakta ise nesnenin boyu/kapladığı alan kameradan alınan görüntü üzerinde göreceli olarak büyüyecektir. İşte tam bu noktada nesneyi takip etmekte ve yaklaşmakta olan nesneye ne kadar yaklaşıldığını anlamak veye daha fazla yaklaşılmaması, yeterince yaklaşıldığının bilinebilmesi için 5. karedeki ilgili nesnenin kapladığı alan başlangıçta referans olarak kalibrasyon amacıyla girilerek size 3i boyuttaki nesneye doğru yaklaşma işleminin yeterli olduğu hakkında bilgi vermek amacıyla kullanılabilir.


(http://c1112.hizliresim.com/s/7/ym50.png)

(http://a1112.hizliresim.com/s/7/ym52.png)

Bir de nesneyi ortalamak için nesnenin uzakta veya yakında olması arasında ekranda ortalamak motora göndereceğiniz adım miktarından etkilenecektir.
Yani nesne yakındayken 10 derecelik adımlarla motor ortalama işlemi için çalışırken herşey normalken nesne uzakşlaşınca 10 derecelik adımlar büyük gelerek işler zorlaşacaktır.

... devam etmek isterdim...

Bahsettiğim şeyler işin biraz ayrıntısı oldu sanırım. Ama faydası olacağını umuyorum.
Matlab/OpenCV türü programlara ait forumlarda daha zengin içerik bulacağınız kanaatindeyim. ;)
Başlık: Ynt: Webcamin bir objeyi takip etmesi nasil saglanabilinir?
Gönderen: e.mutef - 04 Ocak 2012, 10:48:13
Matlab ya da Labview ile yapabilirsin. Çalışma mantığı ise sürekli aldığın görüntüleri birbirinden çıkarıyorsun geriye takip ettiğin nesne kalıyor.