use trackforge::trackers::byte_track::ByteTrack;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut tracker = ByteTrack::new(0.5, 30, 0.8, 0.6);
let frame_1_detections = vec![
([100.0, 100.0, 50.0, 100.0], 0.9, 0),
([200.0, 200.0, 60.0, 120.0], 0.85, 0),
];
println!("Processing Frame 1...");
let tracks_1 = tracker.update(frame_1_detections);
for t in tracks_1 {
println!(
"Track ID: {}, Box: {:?}, Score: {:.2}",
t.track_id, t.tlwh, t.score
);
}
let frame_2_detections = vec![
([105.0, 102.0, 50.0, 100.0], 0.92, 0), ([202.0, 201.0, 60.0, 120.0], 0.88, 0),
];
println!("\nProcessing Frame 2...");
let tracks_2 = tracker.update(frame_2_detections);
for t in tracks_2 {
println!(
"Track ID: {}, Box: {:?}, Score: {:.2}",
t.track_id, t.tlwh, t.score
);
}
Ok(())
}