MotionTracker

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

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

Mga method

3 method

MotionTracker.update

Basahin ang kasalukuyang nakuhang frame at ibalik ang resulta ng galaw. Dapat may tahasang pahintulot at handa na ang screen capture. Gumagawa ng baseline ang INITIALIZED; ibinabalik ng TRACKED ang tinanggap na paglipat; hindi binabago ng STALE ang baseline; binubura ng LOST ang continuity upang muling magsimula sa susunod na bago at wastong frame. Nagkakaroon ng error kapag tinawag pagkatapos ng close. Ang STALE ay duplicate, panghinaharap, o sobrang lumang frame bago iproseso at hindi binabago ang baseline. Kung tumanda nang sobra ang frame habang pinoproseso o nagkaroon ng Pause bago ibigay ang resulta, LOST ang resulta na may reason na processing_frame_too_old at binubura ang continuity.

Syntax

tracker.update()

Ibinabalik na halaga

Halimbawa

Hindi pa nakadokumento

MotionTracker.reset

Burahin ang baseline habang maaari pang gamitin ang tracker. Nagkakaroon ng error kapag tinawag pagkatapos ng close.

Syntax

tracker.reset()

Ibinabalik na halaga

None

Halimbawa

Hindi pa nakadokumento

MotionTracker.close

Bitawan ang tracker; ligtas itong tawagin nang paulit-ulit. Binibitawan din ang handle kapag natapos, nahinto, o pumalya ang macro o flow. Magagamit muli ang handle sa mga action ng parehong executor at hiwalay ito sa ibang flow.

Syntax

tracker.close()

Ibinabalik na halaga

None

Halimbawa

Hindi pa nakadokumento