Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++ OpenCV
Hi, in my program i was able to detect finger tips and valleys using ConvexHull() and cvConvexityDefects(). But there are more than 1 circles in each finger tip. now i want to remove unwanted circles and draw only one circle for each finger tip.how can i do that? i hope my question is clear Smile | :) Thanx in advance
Posted 8-Apr-13 12:00pm

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

I think that your circles you observe on the finger tip are all nested in each other. And I think that you want to have only the outer nested circle, remove all inner ones. If this so, you can develop a simple algorithm: find a convex hull of each "circle". Say, collect all hull points and choose the "leftmost" and "rightmost" point of each "circle" and create such an x-interval between those minimal/maximum x values. If I'm not much mistaken, the inner circle will always have the nested interval compared to an outer one. This way, you will be able to find out the most outer "circle".
 
—SA
  Permalink  
Comments
Hard_Rockz at 9-Apr-13 1:40am
   
Thank you so much....
Sergey Alexandrovich Kryukov at 9-Apr-13 1:52am
   
My pleasure.
Good lick, call again.
—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web02 | 2.8.1411022.1 | Last Updated 8 Apr 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100