So I have this idea that I would like to give a shot but I donít know if itís worth all the energy. So hopefully you guys can help me figuring out if I should spend the next 150 hours or so on building this.

I got this idea because I guess I am an extremely fanatic tennisplayer (who wishes he could play like the PROís ) and keep watching them on TV all the time. What bothered me was that you can almost always see how fast the PROís serve, which made me wanna know how fast I could serve (aaarrrhhh).

So I thought first of buying a speedgun, but they are pretty expensive. Than I got interested in the mathematical part of it. So I wondered of a bit and finally figured I could probably built an iphone app (Iíve been programming for over 10 years). So in my enthusiasm i did make a start and actually know now its possible to calculate the speed very accurate with my iphone. But its still a lot of work to make it available for you guys.

Since I work a lot and have much other stuff too I donít know if I should spend the next 150 ours or so in making this App to find out I am maybe the only one who is so curious.

Attach Iphone on net, capture the serve with the video capture and try to get the frames per second off of it. Create a program that converts that to seconds and then find a way to input a specific distance from one end to the other. Then the simple V=d/t formula. I would like 40% of your profit when your finished.

As I understand it, the speed guns measure the speed shortly after the ball leaves the racquet. Using time and distance will result in a slower speed than the gun would give, as the ball loses a fair amount of speed due to friction moving through the air. The data would still be useful as a relative measure, but would not be comparable to radar data. If you were to use time and distance, would it be to where it bounces, or to the receiver's racquet? If the latter, then court material will also be a factor. Then you also need to take into account spin, as a heavily sliced serve will travel a greater distance than a flat serve (assuming the same release and bounce points).

Attach Iphone on net, capture the serve with the video capture and try to get the frames per second off of it. Create a program that converts that to seconds and then find a way to input a specific distance from one end to the other. Then the simple V=d/t formula. I would like 40% of your profit when your finished.

i believe that his profit would be 0 if he listened to you

i am afraid that to make accurate measure of ball speed, using simple camera from you iphone, is not gonna get you the results. You could get some results but it will be way off.

However i believe that using some kind of sensor inserted in the ball, and gps, you can get much better results. But its also a harder to do it right.

To the OP, i know that idea is good, but how would you create the app? I need details. How the app will know where is the ball in that video. How the app will know when the ball is going off the racquet, and when it crosses the net (to calculate)?

As a programmer myself, i would like to know your idea, or it didnt happened.

__________________
You can't be serious man... YOU CAN NOT BE SERIOUS!
*No1E*

Thank you all for the positive reply's and votes already within this short period of time ! After working so many hours on something that is only costing time you get demotivated. So i was really doubting if it was still worth it. But this really gives me a boost!

As requested I'll explain some more details of the app:
It calculates from when the racket touches the ball until the ball lands on the ground.
I have already a working app that does the whole calculation but it's definitely not a friendly app yet. So it still needs a lot of work. I am not gonna give away my secret why my calculations are accurate. But what i meant wondering of in the mathematics was more than the formula V=d/t. In fact i created a Macbook application first to calculate the whole thing. Especially the position in the field for calculating the distance seemed to be a big problem in the beginning. So i used A=USVt (singular value decomposition) to get an H-matrix to transfer coordinates from one perspective to another. As i said before i was pretty enthusiastic and i came to find all the important factors for getting the speed as accurate as possible. In the end it turned out to be relatively more simple but if you don’t walk the walk you cannot know.

Than I figured an iphone app would be better because when you go and play tennis you mostly carry your phone with ya, and it would be much more practical.
So I transfered my code into an ios app (luckily without to many complications because it’s both objective c). Unfortunately its only ios for now, sorry for the android people. But if there’s gonna be sufficient downloads I will definitely consider looking into it.

The more votes the more enthusiastic I get means the quicker I finish the app.
Thank you all so far!

I have already a working app that does the whole calculation but it's definitely not a friendly app yet. So it still needs a lot of work. I am not gonna give away my secret why my calculations are accurate. But what i meant wondering of in the mathematics was more than the formula V=d/t. In fact i created a Macbook application first to calculate the whole thing. Especially the position in the field for calculating the distance seemed to be a big problem in the beginning. So i used A=USVt (singular value decomposition) to get an H-matrix to transfer coordinates from one perspective to another. As i said before i was pretty enthusiastic and i came to find all the important factors for getting the speed as accurate as possible. In the end it turned out to be relatively more simple but if you donít walk the walk you cannot know.

Than I figured an iphone app would be better because when you go and play tennis you mostly carry your phone with ya, and it would be much more practical.
So I transfered my code into an ios app (luckily without to many complications because itís both objective c). Unfortunately its only ios for now, sorry for the android people. But if thereís gonna be sufficient downloads I will definitely consider looking into it.

The more votes the more enthusiastic I get means the quicker I finish the app.
Thank you all so far!

ok you are keeping a secret.. but you still didnt told me how the app will know where is the ball on the screen and when it is hitted by the racquet. I am not asking for a code or something, just the idea.

But ok, we will see your result when finished.

__________________
You can't be serious man... YOU CAN NOT BE SERIOUS!
*No1E*

I thought of using my Samsung Galaxy S2 Smartphone. I was surprised to learn that the frame rate on that particular phone may vary under some circumstances. Maybe it only slows down (<30fps) in low lighting levels. ? I would check that point for any phone video camera before assuming that it is an accurate 30 or 60 fps.

Attach Iphone on net, capture the serve with the video capture and try to get the frames per second off of it. Create a program that converts that to seconds and then find a way to input a specific distance from one end to the other. Then the simple V=d/t formula. I would like 40% of your profit when your finished.

Sten Kaiser,AKA stoneage, developer of RacquetTune, has an iOS app, SpeedClock, that measures object speed using the iPhone/iPod camera. He includes instructions for measuring serve speed. Here's a link http://appmaker.se/?m=5&s=1

Cheers,
kev

__________________
I just think that things should work the way I expect them to.
Pure Storm GT primarily

Sten Kaiser,AKA stoneage, developer of RacquetTune, has an iOS app, SpeedClock, that measures object speed using the iPhone/iPod camera. He includes instructions for measuring serve speed. Here's a link http://appmaker.se/?m=5&s=1

Sten Kaiser,AKA stoneage, developer of RacquetTune, has an iOS app, SpeedClock, that measures object speed using the iPhone/iPod camera. He includes instructions for measuring serve speed. Here's a link http://appmaker.se/?m=5&s=1

Measuring the speed of tennis balls with a smartphone is an interesting problem that I have been spending some time on (as note above). Since there is some interest here I though I would explain how I did it. As shown at the end of the speedClock video measuring a tennis serve involves recording a video of the event. This means that you don't have be so careful when to start and stop and you can measure yourself. Then you scroll the video to point where the ball is roughly mid screen. The app then starts analyzing the frames around this point in the video. After some image processing the ball is isolated and presented as colored blobs. By aligning them to one point you get information about how much the ball has moved between each frame. In the video this is done manually, but in recent version of speedClock this is done automatically. This gives you the speed in pixels/frame, fun but not so useful. The picture below shows a screen dump of an actual serve with the mid frame and the ball from 2 frames on each side before speedClock aligns them.

Since the iPhone camera is a passive device there is no way for it to know if it is a small, slow, close object or a big, fast distant object. So you have to tell the app either how far away or how big it is. Since a tennis ball is fairly small and the image usually is a little blurred giving the distance is more accurate. On a tennis court this is seldom a problem since you have known distances marked up i.e. from the sideline to the mid point. With that information the app can convert pixels to meters.

Finally you need the time. As Chas Tennis noted, a smart phone can drop frames in low light. However, you can still get the information of the exact time each frame was captured, so a lower frame rate is not a problem. Still you get the best results when the light conditions are good since the motion blur is less.

There are of course other ways to measure the speed, but all has their own challenges.

tennisplayer_85's app will of course be a competitor, but since speedClock has a much broader aim than tennis serves I don't see it as problem. And the app store could benefit from more serious apps this area (as you noted). With the cost of iPhone apps I also think most people can afford both

Since I am developing as much for fun as for profit I am also interested in seeing how you solved the problem. So I am looking forward to buying your app.

Some subjects to cover for a Smartphone/video velocity measuring capability-

1) Jello Effect Distortions
My understanding subject to correction - CMOS imagers read out lines sequentially, for example, first at the top to last at the bottom of the frame. A single video line is read out simultaneously but there is a very slight readout delay until the next line is readout. This delay can add up to cause errors when the ball does not travel parallel to a line of video. Balls traveling parallel to lines have minimum time error and those traveling across video lines have the greatest error.

2) Alignment Error. Objects or balls that travel away or toward the camera (instead of just across the frame, etc.) will introduce errors. An error analysis should show how sensitive the velocity measurement would be to ball travel direction alignment error. The analysis might indicate that alignment error would still yields a small velocity error, 5-10%?, for reasonable 'eyeball" alignments. Also, I believe the error of poor alignment might always yield a slower velocity that the real serve velocity(a good thing for poor alignment & bragging rights).

3) For the tennis serve placing the camera on the singles or doubles sideline and into the court, say, 8-10 feet might give a pretty good alignment viewing perpendicular to most serve trajectories.

The thumb of a raquet hitting a serve is pretty loud, and if you put a phone (or something similar near the service box you are aiming, it could pick up the sound of when the ball hits the gound... from both noises it could calculate the amount of time the ball traveled the air up until it hit the ground. you type in the measurements of a tennis court, from the baseline to the service box, count the height of the net, and then do the part where im bad at - the maths.