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_xget_centroid_yget_densityget_num_pixelsget_x0get_x1get_y0get_y1set_lower_boundset_noise_filterset_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:
channelAz a csatorna, amelyhez határt állít be. Lásd az érdeklődésre számot tartó csatorna konstansait a Lua API: Konstansok oldalon.boundAz 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:
filterAz ú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:
channelAz a csatorna, amelyhez határt állít be. Lásd az érdeklődésre számot tartó csatorna konstansait a Lua API: Konstansok oldalon.boundAz 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.