Lua API: tracker#

Deskripsi#

Struktur data tracker digunakan untuk membantu pelacakan warna dalam CMUcam3. Ia menyimpan informasi tentang pelacakan yang sedang dilakukan, dan parameter yang dapat diatur untuk mengontrol warna mana yang dilacak dan aspek lain dari pelacakan warna. TODO: Add a good description of what hte bounding box is, and what the centroid is

Contoh#

Berikut adalah contoh singkat yang menunjukkan bagaimana objek tracker digunakan untuk menemukan area merah dalam frame gambar CMUcam3, dan kemudian kotak tersebut dicetak ke area debugging CamScripter di Eclipse.

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)

Pembuatan#

Lihat tracker_new

Metode#

  • 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()

Parameter:

tidak ada

Nilai Kembalian:

Koordinat x integer dari centroid

Ambil koordinat x centroid warna yang dilacak, di mana (0, 0) adalah sudut kiri atas gambar.

get_centroid_y#

trkr:get_centroid_y()

Parameter:

tidak ada

Nilai Kembalian:

Koordinat y integer dari centroid

Ambil koordinat y centroid warna yang dilacak, di mana (0, 0) adalah sudut kiri atas gambar.

get_density#

trkr:get_density()

Parameter:

tidak ada

Nilai Kembalian:

Kepadatan warna yang sedang dilacak

Ambil kepadatan warna yang dilacak dalam buffer gambar. Kepadatan adalah ukuran seberapa padat warna yang dilacak di dalam bounding box color tracker -- semakin banyak piksel warna yang dilacak dalam kotak, semakin tinggi kepadatannya.

get_num_pixels#

trkr:get_num_pixels()

Parameter:

tidak ada

Nilai Kembalian:

Jumlah piksel dalam buffer gambar yang cocok dengan warna color tracker

Ambil jumlah total piksel warna yang dilacak (sebagaimana ditentukan oleh nilai RGB yang diberikan ke tracker_new) yang ditemukan dalam buffer gambar CMUcam3.

get_x0#

trkr:get_x0()

Parameter:

tidak ada

Nilai Kembalian:

Nilai integer dari koordinat-x sudut kiri atas kotak pembatas pelacakan warna.

Ketika tracker_track_color dipanggil, ia menetapkan kotak pembatas yang menggambarkan batas-batas warna yang dilacak dalam gambar. (x0, y0) adalah lokasi sudut kiri atas kotak tersebut, dan (x1, y1) adalah lokasi sudut kanan bawah kotak tersebut dalam buffer gambar, di mana (0, 0) adalah sudut kiri atas buffer gambar. get_x0 mengembalikan koordinat-x dari sudut kiri atas kotak batas warna.

get_y0#

trkr:get_y0()

Parameter:

tidak ada

Nilai Kembalian:

Nilai integer dari koordinat-y sudut kiri atas kotak pembatas pelacakan warna.

Ketika tracker_track_color dipanggil, ia menetapkan kotak pembatas yang menggambarkan batas-batas warna yang dilacak dalam gambar. (x0, y0) adalah lokasi sudut kiri atas kotak tersebut, dan (x1, y1) adalah lokasi sudut kanan bawah kotak tersebut dalam buffer gambar, di mana (0, 0) adalah sudut kiri atas buffer gambar. get_y0 mengembalikan koordinat-x dari sudut kiri atas kotak batas warna.

get_x1#

trkr:get_y1()

Parameter:

tidak ada

Nilai Kembalian:

Nilai integer dari koordinat-x sudut kanan bawah kotak pembatas pelacakan warna.

Ketika tracker_track_color dipanggil, ia menetapkan kotak pembatas yang menggambarkan batas-batas warna yang dilacak dalam gambar. (x0, y0) adalah lokasi sudut kiri atas kotak tersebut, dan (x1, y1) adalah lokasi sudut kanan bawah kotak tersebut dalam buffer gambar, di mana (0, 0) adalah sudut kiri atas buffer gambar. get_x1 mengembalikan koordinat-x dari sudut kiri atas kotak batas warna.

get_y1#

trkr:get_y1()

Parameter:

tidak ada

Nilai Kembalian:

Nilai integer dari koordinat-y sudut kanan bawah kotak pembatas pelacakan warna.

Ketika tracker_track_color dipanggil, ia menetapkan kotak pembatas yang menggambarkan batas-batas warna yang dilacak dalam gambar. (x0, y0) adalah lokasi sudut kiri atas kotak tersebut, dan (x1, y1) adalah lokasi sudut kanan bawah kotak tersebut dalam buffer gambar, di mana (0, 0) adalah sudut kiri atas buffer gambar. get_y1 mengembalikan koordinat-x dari sudut kiri atas kotak batas warna.

set_lower_bound#

trkr:set_lower_bound(integer channel, integer bound)

Parameter:

channel Channel yang batasnya Anda atur. Lihat konstanta channel of interest di Lua API: Konstanta. bound Nilai minimum yang mungkin untuk channel yang diberikan. Harus antara 0 dan 255.

Nilai Kembalian:

tidak ada

Atur batas bawah untuk satu channel di color tracker. Batas bawah adalah nilai minimum yang dapat dimiliki sebuah piksel pada channel tersebut agar dapat dilacak. Untuk keperluan pelacakan warna, agar sebuah piksel dianggap dapat dilacak, piksel tersebut harus berada di antara batas bawah dan batas atas pada masing-masing channel-nya.

set_noise_filter#

trkr:set_noise_filter(integer filter)

Parameter:

filter Nilai noise filter baru. Default adalah 2.

Nilai Kembalian:

tidak ada

Nilai noise filter menentukan berapa banyak piksel aktif berturut-turut sebelum sebuah piksel yang diperlukan sebelum piksel tersebut dihitung sebagai terdeteksi oleh pelacakan warna. Nilainya harus antara 0 dan 255.

set_upper_bound#

trkr:set_upper_bound(integer channel, integer bound)

Parameter:

channel Channel yang batasnya Anda atur. Lihat konstanta channel of interest di Lua API: Konstanta. bound Nilai maksimum yang mungkin untuk channel yang diberikan. Harus antara 0 dan 255.

Nilai Kembalian:

tidak ada

Atur batas atas untuk satu channel di color tracker. Batas atas adalah nilai maksimum yang dapat dimiliki sebuah piksel pada channel tersebut agar dapat dilacak. Untuk keperluan pelacakan warna, agar sebuah piksel dianggap dapat dilacak, piksel tersebut harus berada di antara batas bawah dan batas atas pada masing-masing channel-nya.