AthStitcher: Further Discussion
appdev athstitcher
A discussion of the AthStitcher app and its approach to photo timing using video.
Latest: Discord Server for AthStitcher App Development
Link: Discord/DjsAthsStitcher
One approach to Photo Timing using a video
As used by one Masters Athletics Venue.
These times are taken from the video. Using a free video editing program, Kinovea, the video is perused, frame by frame, until the operator sees the smoke from the gun. At this point stopwatch icons are added to the video, one for each competitor, and each stopwatch “started”.
Then the video is played until the winner approaches the finish line. The video is paused and advanced, frame by frame, until the runner crosses the line, at which stage that runner’s stopwatch is stopped, recording their time.
Cf AthStitcher
Links
The AthStitcher app takes a different approach. It uses an Android phone camera to video record the finish line area, with the camera aligned so that the finish line is vertical in the middle of the video frame. The video is then processed to extract frames at regular intervals (e.g., every 1/32th of a second). These frames are then stitched together to create a single image that represents the finish line over time. This stitched image allows for precise measurement of finish times, as the position of each athlete in the image corresponds to their finish time. To improve accuracy as to when an athlete crosses the line, the video frame for a point in time on the stitched image can be examined and you can move back and forwards frame by frame to see exactly when the athlete crosses the line.
Times are taken from the stitched image/the frame showing. The start time is determined in a number of ways, as previously documented:
Video Race Start Options
These are defined as enums in the code:
public enum TimeFromMode
{
FromVideoStart, //From start of video capture
FromGunSound, //From gun sound
FromGunFlash, //From observed flash of gun on video
ManuallySelect, //Manually selected start time
WallClockSelect
}
- With the first option, the video is manually started when the gun is fired.
- The third option requires the sound from the gun to be supplied by a secondary device or streamed to the phone. Processing then extracts the sound channel from the video and analyses it to find the time of the gun sound.
- The third option requires the camera to be initially facing the starters gun, or have a a secondary video stream from there. The code can then be examined to find the first frame where the flash is observed.
- A variant of this would be a bright flash LED that is triggered by the gun and placed in the camera view.
- The fourth option allows the operator to manually select the start time by clicking on the stitched image. This is probably a duplication of the third option, but could be used with any visual clue recorded on the video.
- The fifth option requires the wall clock time of both the video start and the gun time to be known. The difference between these two times is then used to determine the race start time wrt the video start.
- This also has the option of having the gun time before or after the video start time.
Conclusion
AthStitcher thus provides a flexible approach to photo timing using video, allowing for various methods to determine the start time and enabling precise measurement of finish times through the stitched image.
| Topic | Subtopic | |
| < Prev: | Jekyll-Markdown | Add voting to a Blog Post - How to Part 2 - Jekyll Post |
| This Category Links | ||
| Category: | Application Dev Index: | Application Dev |
| < Prev: | AthStitcher | Features not yet included |