Lua API: tracker#

Leírás#

A tracker adatszerkezet a színkövetés segítésére szolgál a CMUcam3-ban. Információt tartalmaz a végzett követésről, valamint olyan paramétereket, amelyek beállíthatók annak szabályozására, hogy melyik színt kövessük, valamint a színkövetés egyéb aspektusait. TODO: Adjunk hozzá egy jó leírást arról, mi a befoglaló keret, és mi a súlypont

Példa#

Itt van egy rövid példa, amely bemutatja, hogyan használják a tracker objektumot egy piros terület megtalálására a CMUcam3 képkockájában, majd az a keret kiíródik az Eclipse CamScripter hibakereső területére.

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)

Létrehozás#

Lásd: tracker_new

Metódusok#

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

Paraméterek:

nincs

Visszatérési értékek:

A súlypont egész számú x-koordinátája

Kérje le a követett szín súlypontjának x-koordinátáját, ahol a (0, 0) a kép bal felső sarka.

get_centroid_y#

trkr:get_centroid_y()

Paraméterek:

nincs

Visszatérési értékek:

A súlypont egész számú y-koordinátája

Kérje le a követett szín súlypontjának y-koordinátáját, ahol a (0, 0) a kép bal felső sarka.

get_density#

trkr:get_density()

Paraméterek:

nincs

Visszatérési értékek:

A követett szín sűrűsége

Kérje le a képpufferben követett szín sűrűségét. A sűrűség annak mértéke, hogy mennyire sűrű a követett szín a színkövető befoglaló keretén belül – minél több pixelnyi a követett szín a keretben, annál nagyobb a sűrűség.

get_num_pixels#

trkr:get_num_pixels()

Paraméterek:

nincs

Visszatérési értékek:

A képpufferben a színkövető színével egyező pixelek száma

Kérje le a követett szín (a tracker_new függvénynek átadott RGB-értékek által meghatározott) azon pixeleinek teljes számát, amelyeket a CMUcam3 képpufferében találtak.

get_x0#

trkr:get_x0()

Paraméterek:

nincs

Visszatérési értékek:

A színkövetési befoglaló keret bal felső sarkának x-koordinátájának egész értéke.

Amikor a tracker_track_color meghívásra kerül, létrehoz egy befoglaló keretet, amely leírja a képen belül követett szín határait. Az (x0, y0) annak a keretnek a bal felső sarkának a helye, az (x1, y1) pedig annak a keretnek a jobb alsó sarkának a helye a képpufferben, ahol a (0, 0) a képpuffer bal felső sarka. A get_x0 a színhatár-keret bal felső sarkának x-koordinátáját adja vissza.

get_y0#

trkr:get_y0()

Paraméterek:

nincs

Visszatérési értékek:

A színkövetési befoglaló keret bal felső sarkának y-koordinátájának egész értéke.

Amikor a tracker_track_color meghívásra kerül, létrehoz egy befoglaló keretet, amely leírja a képen belül követett szín határait. Az (x0, y0) annak a keretnek a bal felső sarkának a helye, az (x1, y1) pedig annak a keretnek a jobb alsó sarkának a helye a képpufferben, ahol a (0, 0) a képpuffer bal felső sarka. A get_y0 a színhatár-keret bal felső sarkának x-koordinátáját adja vissza.

get_x1#

trkr:get_y1()

Paraméterek:

nincs

Visszatérési értékek:

A színkövetési befoglaló keret jobb alsó sarkának x-koordinátájának egész értéke.

Amikor a tracker_track_color meghívásra kerül, létrehoz egy befoglaló keretet, amely leírja a képen belül követett szín határait. Az (x0, y0) annak a keretnek a bal felső sarkának a helye, az (x1, y1) pedig annak a keretnek a jobb alsó sarkának a helye a képpufferben, ahol a (0, 0) a képpuffer bal felső sarka. A get_x1 a színhatár-keret bal felső sarkának x-koordinátáját adja vissza.

get_y1#

trkr:get_y1()

Paraméterek:

nincs

Visszatérési értékek:

A színkövetési befoglaló keret jobb alsó sarkának y-koordinátájának egész értéke.

Amikor a tracker_track_color meghívásra kerül, létrehoz egy befoglaló keretet, amely leírja a képen belül követett szín határait. Az (x0, y0) annak a keretnek a bal felső sarkának a helye, az (x1, y1) pedig annak a keretnek a jobb alsó sarkának a helye a képpufferben, ahol a (0, 0) a képpuffer bal felső sarka. A get_y1 a színhatár-keret bal felső sarkának x-koordinátáját adja vissza.

set_lower_bound#

trkr:set_lower_bound(integer channel, integer bound)

Paraméterek:

channel Az a csatorna, amelyhez határt állít be. Lásd az érdeklődésre számot tartó csatorna konstansait a Lua API: Konstansok oldalon. bound Az adott csatornához lehetséges minimális érték. 0 és 255 között kell lennie.

Visszatérési értékek:

nincs

Állítsa be az egyik csatorna alsó határát a színkövetőben. Az alsó határ az a minimális érték, amelyet egy pixel az adott csatornában felvehet ahhoz, hogy követhető legyen. Színkövetési célból ahhoz, hogy bármely pixel követhetőnek minősüljön, annak a pixelnek minden csatornájában az alsó és a felső határ között kell lennie.

set_noise_filter#

trkr:set_noise_filter(integer filter)

Paraméterek:

filter Az új zajszűrő érték. Az alapértelmezett 2.

Visszatérési értékek:

nincs

A zajszűrő értéke meghatározza, hogy hány egymást követő aktív pixelre van szükség egy pixel előtt ahhoz, hogy a pixelt a színkövetés által észleltként számolják. Az értéknek 0 és 255 között kell lennie.

set_upper_bound#

trkr:set_upper_bound(integer channel, integer bound)

Paraméterek:

channel Az a csatorna, amelyhez határt állít be. Lásd az érdeklődésre számot tartó csatorna konstansait a Lua API: Konstansok oldalon. bound Az adott csatornához lehetséges maximális érték. 0 és 255 között kell lennie.

Visszatérési értékek:

nincs

Állítsa be az egyik csatorna felső határát a színkövetőben. A felső határ az a maximális érték, amelyet egy pixel az adott csatornában felvehet ahhoz, hogy követhető legyen. Színkövetési célból ahhoz, hogy bármely pixel követhetőnek minősüljön, annak a pixelnek minden csatornájában az alsó és a felső határ között kell lennie.