Click here to Skip to main content
11,715,043 members (66,349 online)
Rate this: bad
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 can i do that? i hope my question is clear Smile | :) Thanx in advance
Posted 8-Apr-13 11:00am

1 solution

Rate this: bad
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".

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.

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

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 520
1 Richard MacCutchan 275
2 Maciej Los 259
3 ManasKumarM 155
4 Frankie-C 125
0 Sergey Alexandrovich Kryukov 775
1 CHill60 415
2 Richard MacCutchan 405
3 Maciej Los 389
4 OriginalGriff 320

Advertise | Privacy | Mobile
Web04 | 2.8.150901.1 | Last Updated 8 Apr 2013
Copyright © CodeProject, 1999-2015
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