Best method to detect darts in a dartboard from above

asked 2017-11-17 07:15:21 -0600

jetsports gravatar image

updated 2017-11-17 08:06:30 -0600

Sorry I am new to the forum and image processing using openCV so this question is naive. I have cameras mounted above a normal dartboard and need to precisely locate the point of a thrown dart. I can compare before and after images for difference but keep running into noise, shadow and other issues. Is there a way to use shape recognition to find the dart more accurately? image description after image unaltered

edit retag flag offensive close merge delete

Comments

are you able to post an image as example?

VxW gravatar imageVxW ( 2017-11-17 07:46:31 -0600 )edit

Just did, TY!

jetsports gravatar imagejetsports ( 2017-11-17 08:06:44 -0600 )edit

@etsports. I was going to do this by next year. Draw a triangle for each black and white. Draw each arcs for double and triple for red and green And circles for bull-eyes too. Draw a circle on edge below numbers if you want that too. And the erst you can do calculation for math

supra56 gravatar imagesupra56 ( 2017-11-17 08:30:04 -0600 )edit

There is another way w/out drawing a triangle is HoughlinesP for each vertical lines.

supra56 gravatar imagesupra56 ( 2017-11-17 08:33:44 -0600 )edit

Sure drawing the board is not my problem nor determining the scoring areas. I am having trouble finding where the dart tips meet the board. I used a simplistic method that is about 90% accurate, but I need 98% accuracy or my project fails. That's why I thought shape detection for the darts might be a better alternative.

jetsports gravatar imagejetsports ( 2017-11-17 08:35:02 -0600 )edit

If you want to get rid of noising. You will need good lightning and good webcam(1080p) or picamera hdmi video camera too. For noising , you will have to increasing values such as threshold, gaussianBlur or equalizer etc. And that all.

supra56 gravatar imagesupra56 ( 2017-11-17 08:40:01 -0600 )edit

@jetsports. Let say wanna to throw 20 in black triangle. You must label tri_20 = cv2.HoughlinesP(). I am working on but Don't have time now. Feel free and do not hesitate for scoring problem.

supra56 gravatar imagesupra56 ( 2017-11-17 08:47:29 -0600 )edit

Thanks for your input, I think I want to scan the board at the start of each game and create pixel array for what the score is. Then just find the dart and I'm done. I'll post if I get a good solution.

jetsports gravatar imagejetsports ( 2017-11-17 08:53:57 -0600 )edit

take a look at this youtube video (has link to python source) is it possible to record a short video with your cam and share it somewhere?

sturkmen gravatar imagesturkmen ( 2017-11-17 11:29:09 -0600 )edit