Lacak pergeseran latar antara bingkai layar dengan pencocokan beberapa area OpenCV asli. Ini tidak mendeteksi pemain atau menentukan posisi pada atlas. Kecualikan HUD dan karakter; tangani zoom game di luar pelacak dengan pencocokan template dan skala. Dugaan zoom atau rotasi menghasilkan LOST, bukan perkiraan zoom. Pembuatan tidak menangkap bingkai; maksimal 16 tracker terbuka per flow.
Sintaks
MotionTracker(region=None, exclude=None, max_displacement=80, max_gap_ms=850, max_frame_age_ms=250)Parameter konstruktor
| Nama | Deskripsi |
|---|---|
regionRegion | None | Persegi pelacakan dalam piksel layar, seluruhnya di dalam layar saat ini, dengan lebar dan tinggi positif serta terbatas. None memilih seluruh layar. Koordinat dibekukan saat dibuat. Area yang terlalu kecil atau sempit menimbulkan kesalahan; pilih area yang lebih besar. Opsional · Posisi atau nama Default: None |
excludelist | tuple | None | Daftar Region yang dikecualikan, dipotong sesuai area pelacakan. Lebar dan tinggi tiap area harus positif dan terbatas; koordinat dibekukan saat dibuat. None tidak mengecualikan apa pun. Maksimal 32 Region dapat dikecualikan. Opsional · Posisi atau nama Default: None |
max_displacementNumber (1..256) | Pergeseran terbatas maksimum per sumbu dalam piksel layar; default 80. Opsional · Posisi atau nama Default: 80 |
max_gap_msNumber (1..5000) | Jeda maksimum antar bingkai sebagai bilangan bulat milidetik; default 850. Opsional · Posisi atau nama Default: 850 |
max_frame_age_msNumber (1..5000) | Usia maksimum bingkai sebagai bilangan bulat milidetik; default 250. Opsional · Posisi atau nama Default: 250 |
Nilai yang dikembalikan
Contoh
# Lacak gerakan latar antara bingkai yang ditangkap
tracker = MotionTracker()
first = tracker.update()
wait(100)
result = tracker.update()
if result.status == "TRACKED":
print(result.dx, result.dy)
tracker.close()