user1905552
user1905552

Reputation: 101

Computer vision: tracking a coin flip

Is it possible to write a program that can track and predict the flip of a coin?

The input would be the feed of two or more webcams that monitor the initial few seconds of the flip. The program would analyse the motion of the spinning coin using a physics equation I imagine. The output would be an estimate of whether the coin is going to land heads up or tails up before the event has actually occurred. What languages and libraries would be best suited to this task if it is indeed possible? Are C++ and OpenCV up to the task?

Upvotes: 0

Views: 498

Answers (1)

paddy
paddy

Reputation: 63471

You need to read up on the Nyquist Limit of sample aliasing.

Basically, You need to determine how many revolutions per second a typical coin toss will exhibit, and use the Nyquist theorem to work out the minimum frame rate that will capture it.

If you can then determine at which frames the coin is flat, which frame it left the hand, which frame it was caught, and what the initial coin face was, you have a good chance at extrapolating that to the catch. You may be able to do audio processing to help pinpoint the flip and catch events.

You may also be able to use the motion blur within a frame to determine the angular velocity of the coin edge, but you don't know the axis of rotation. It would be easier to capture cleaner images. That means a wide aperture lens and/or good lighting to allow a short exposure time, and possibly a high frame rate.

You could possibly sacrifice higher frame rates if you could interleave the frames from multiple cameras. That requires good external synchronisation.

Upvotes: 1

Related Questions