Lua API: tracker#

Açıklama#

tracker veri yapısı, CMUcam3’te renk izlemeye yardımcı olmak için kullanılır. Yapılmakta olan izleme hakkında bilgi ve hangi rengin izlendiğini ve renk izlemenin diğer yönlerini kontrol etmek için ayarlanabilen parametreleri tutar. TODO: Sınırlayıcı kutunun ne olduğuna ve ağırlık merkezinin ne olduğuna dair iyi bir açıklama ekle

Örnek#

İzleyici nesnesinin CMUcam3 resim karesinde kırmızı bir alan bulmak için nasıl kullanıldığını ve ardından o kutunun Eclipse’teki CamScripter hata ayıklama alanına nasıl yazdırıldığını gösteren kısa bir örnek aşağıdadır.

trkr = tracker_new(195, 0, 0, 255, 45, 45); -- track red
trkr:set_noise_filter(3);  -- 2 is the default

take_picture();
tracker_track_color(trkr);
print_color_tracker(trkr);  -- print color tracker info to the screen
print("num pixels tracked: " .. trkr:get_num_pixels()); -- print number of red pixels found in the picture
-- print_picture(); -- uncomment this line to print the picture itself to the screen as well (slower)

Oluşturma#

tracker_new sayfasına bakın

Yöntemler#

  • get_centroid_x

  • get_centroid_y

  • get_density

  • get_num_pixels

  • get_x0

  • get_x1

  • get_y0

  • get_y1

  • set_lower_bound

  • set_noise_filter

  • set_upper_bound

get_centroid_x#

trkr:get_centroid_x()

Parametreler:

yok

Dönüş Değerleri:

Ağırlık merkezinin tamsayı x koordinatı

İzlenen rengin ağırlık merkezinin x koordinatını al; (0, 0) resmin sol üst köşesidir.

get_centroid_y#

trkr:get_centroid_y()

Parametreler:

yok

Dönüş Değerleri:

Ağırlık merkezinin tamsayı y koordinatı

İzlenen rengin ağırlık merkezinin y koordinatını al; (0, 0) resmin sol üst köşesidir.

get_density#

trkr:get_density()

Parametreler:

yok

Dönüş Değerleri:

Takip edilen rengin yoğunluğu

Resim arabelleği içinde izlenen rengin yoğunluğunu al. Yoğunluk, izlenen rengin renk izleyici sınırlayıcı kutusu içinde ne kadar yoğun olduğunun bir ölçüsüdür – kutu içinde izlenen renkte ne kadar çok piksel varsa yoğunluk o kadar yüksektir.

get_num_pixels#

trkr:get_num_pixels()

Parametreler:

yok

Dönüş Değerleri:

Resim arabelleğinde renk izleyici rengiyle eşleşen piksellerin sayısı

CMUcam3 resim arabelleğinde bulunan, izlenen renkteki (tracker_new fonksiyonuna aktarılan RGB değerleriyle belirlenen) piksellerin toplam sayısını al.

get_x0#

trkr:get_x0()

Parametreler:

yok

Dönüş Değerleri:

Renk izleme sınırlayıcı kutusunun sol üst köşesinin x koordinatının tamsayı değeri.

tracker_track_color çağrıldığında, resim içinde izlenen rengin sınırlarını tanımlayan bir sınırlayıcı kutu oluşturur. (x0, y0), o kutunun sol üst köşesinin konumudur ve (x1, y1), (0, 0)’ın resim arabelleğinin sol üst köşesi olduğu resim arabelleği içinde o kutunun sağ alt köşesinin konumudur. get_x0, renk sınır kutusunun sol üst köşesinin x koordinatını döndürür.

get_y0#

trkr:get_y0()

Parametreler:

yok

Dönüş Değerleri:

Renk izleme sınırlayıcı kutusunun sol üst köşesinin y koordinatının tamsayı değeri.

tracker_track_color çağrıldığında, resim içinde izlenen rengin sınırlarını tanımlayan bir sınırlayıcı kutu oluşturur. (x0, y0), o kutunun sol üst köşesinin konumudur ve (x1, y1), (0, 0)’ın resim arabelleğinin sol üst köşesi olduğu resim arabelleği içinde o kutunun sağ alt köşesinin konumudur. get_y0, renk sınır kutusunun sol üst köşesinin x koordinatını döndürür.

get_x1#

trkr:get_y1()

Parametreler:

yok

Dönüş Değerleri:

Renk izleme sınırlayıcı kutusunun sağ alt köşesinin x koordinatının tamsayı değeri.

tracker_track_color çağrıldığında, resim içinde izlenen rengin sınırlarını tanımlayan bir sınırlayıcı kutu oluşturur. (x0, y0), o kutunun sol üst köşesinin konumudur ve (x1, y1), (0, 0)’ın resim arabelleğinin sol üst köşesi olduğu resim arabelleği içinde o kutunun sağ alt köşesinin konumudur. get_x1, renk sınır kutusunun sol üst köşesinin x koordinatını döndürür.

get_y1#

trkr:get_y1()

Parametreler:

yok

Dönüş Değerleri:

Renk izleme sınırlayıcı kutusunun sağ alt köşesinin y koordinatının tamsayı değeri.

tracker_track_color çağrıldığında, resim içinde izlenen rengin sınırlarını tanımlayan bir sınırlayıcı kutu oluşturur. (x0, y0), o kutunun sol üst köşesinin konumudur ve (x1, y1), (0, 0)’ın resim arabelleğinin sol üst köşesi olduğu resim arabelleği içinde o kutunun sağ alt köşesinin konumudur. get_y1, renk sınır kutusunun sol üst köşesinin x koordinatını döndürür.

set_lower_bound#

trkr:set_lower_bound(integer channel, integer bound)

Parametreler:

channel Bir sınır ayarladığınız kanal. Lua API: Sabitler içindeki ilgilenilen kanal sabitlerine bakın. bound Verilen kanal için olası minimum değer. 0 ile 255 arasında olmalıdır.

Dönüş Değerleri:

yok

Renk izleyicisinde bir kanal için alt sınırı ayarlayın. Alt sınır, izlenebilmesi için bir pikselin o kanalda sahip olabileceği minimum değerdir. Renk izleme amaçları için, herhangi bir pikselin izlenebilir sayılması için, o pikselin kanallarının her birinde alt ve üst sınır arasında olması gerekir.

set_noise_filter#

trkr:set_noise_filter(integer filter)

Parametreler:

filter Yeni gürültü filtresi değeri. Varsayılan 2’dir.

Dönüş Değerleri:

yok

Gürültü filtresi değeri, bir pikselin renk izleme tarafından algılanmış olarak sayılabilmesinden önce, o pikselden önce kaç ardışık aktif pikselin gerekli olduğunu belirler. Değer 0 ile 255 arasında olmalıdır.

set_upper_bound#

trkr:set_upper_bound(integer channel, integer bound)

Parametreler:

channel Bir sınır ayarladığınız kanal. Lua API: Sabitler içindeki ilgilenilen kanal sabitlerine bakın. bound Verilen kanal için olası maksimum değer. 0 ile 255 arasında olmalıdır.

Dönüş Değerleri:

yok

Renk izleyicisinde bir kanal için üst sınırı ayarlayın. Üst sınır, izlenebilmesi için bir pikselin o kanalda sahip olabileceği maksimum değerdir. Renk izleme amaçları için, herhangi bir pikselin izlenebilir sayılması için, o pikselin kanallarının her birinde alt ve üst sınır arasında olması gerekir.