Theo dõi độ tịnh tiến của nền giữa các khung hình bằng OpenCV với nhiều vùng mẫu. Khi tạo không chụp khung hình; mỗi flow được mở tối đa 16 tracker. Công cụ không nhận diện nhân vật hay định vị trên bản đồ. Hãy loại HUD và nhân vật; xử lý mức zoom của game bên ngoài bằng so khớp mẫu và tỷ lệ. Khi nghi có zoom hoặc xoay, kết quả là LOST, không phải ước lượng zoom.
Cú pháp
MotionTracker(region=None, exclude=None, max_displacement=80, max_gap_ms=850, max_frame_age_ms=250)Tham số khởi tạo
| Tên | Mô tả |
|---|---|
regionRegion | None | Vùng theo dõi tính bằng pixel màn hình, nằm hoàn toàn trong màn hình hiện tại, có chiều rộng và cao hữu hạn, dương. None chọn toàn màn hình. Tọa độ được cố định khi tạo. Tùy chọn · Theo vị trí hoặc tên Mặc định: None |
excludelist | tuple | None | Danh sách hoặc tuple tối đa 32 Region cần loại, được cắt theo vùng theo dõi. Mỗi vùng có chiều rộng và cao hữu hạn, dương; tọa độ được cố định khi tạo. None không loại vùng nào. Tùy chọn · Theo vị trí hoặc tên Mặc định: None |
max_displacementNumber (1..256) | Độ dịch chuyển hữu hạn tối đa trên mỗi trục, tính bằng pixel màn hình; mặc định 80. Tùy chọn · Theo vị trí hoặc tên Mặc định: 80 |
max_gap_msNumber (1..5000) | Khoảng cách tối đa giữa các khung hình, là số nguyên mili giây; mặc định 850. Tùy chọn · Theo vị trí hoặc tên Mặc định: 850 |
max_frame_age_msNumber (1..5000) | Tuổi tối đa của khung hình, là số nguyên mili giây; mặc định 250. Tùy chọn · Theo vị trí hoặc tên Mặc định: 250 |
Giá trị trả về
Ví dụ
# Theo dõi chuyển động của nền giữa các khung hình đã chụp
tracker = MotionTracker()
first = tracker.update()
wait(100)
result = tracker.update()
if result.status == "TRACKED":
print(result.dx, result.dy)
tracker.close()