Subaybayan ang paglipat ng background sa pagitan ng mga screen frame gamit ang native OpenCV na pagtutugma ng maraming bahagi. Hindi nito tinutukoy ang player o lokasyon sa atlas. Ibukod ang HUD at character; pangasiwaan ang zoom ng laro sa labas gamit ang template matching at scale. Kapag pinaghinalaang may zoom o pag-ikot, LOST ang resulta at walang pagtatantiya ng zoom. Hindi kumukuha ng frame ang paggawa; hanggang 16 na tracker ang maaaring bukas sa bawat flow.
Syntax
MotionTracker(region=None, exclude=None, max_displacement=80, max_gap_ms=850, max_frame_age_ms=250)Mga parameter ng constructor
| Pangalan | Paglalarawan |
|---|---|
regionRegion | None | Parihabang susubaybayan sa screen pixels, na nasa loob nang buo ng kasalukuyang screen at may positibo at may hangganang lapad at taas. Pinipili ng None ang buong screen. Nakapirmi ang coordinates sa paggawa. Nagkakaroon ng error kapag masyadong maliit o makitid ang region; pumili ng mas malaking region. Opsyonal · Ayon sa posisyon o pangalan Default: None |
excludelist | tuple | None | Mga Region na ibubukod, na pinuputol ayon sa hangganan ng tracking area. Bawat isa ay may positibo at may hangganang lapad at taas; nakapirmi ang coordinates sa paggawa. Walang ibinubukod ang None. Hanggang 32 Region ang maaaring ibukod. Opsyonal · Ayon sa posisyon o pangalan Default: None |
max_displacementNumber (1..256) | Pinakamalaking may hangganang paglipat sa bawat axis sa screen pixels; default ay 80. Opsyonal · Ayon sa posisyon o pangalan Default: 80 |
max_gap_msNumber (1..5000) | Pinakamalaking pagitan ng mga frame bilang buong bilang ng millisecond; default ay 850. Opsyonal · Ayon sa posisyon o pangalan Default: 850 |
max_frame_age_msNumber (1..5000) | Pinakamalaking edad ng frame bilang buong bilang ng millisecond; default ay 250. Opsyonal · Ayon sa posisyon o pangalan Default: 250 |
Ibinabalik na halaga
Halimbawa
# Subaybayan ang galaw ng background sa pagitan ng mga nakuhang frame
tracker = MotionTracker()
first = tracker.update()
wait(100)
result = tracker.update()
if result.status == "TRACKED":
print(result.dx, result.dy)
tracker.close()