1
votes

I have used convex hull and convexity defects and found the points in the hand as shown below.

enter image description here

With the above points information available, how can I crop the region marked in red (Knuckle) as shown in the below image.

My intention is to detect the Knuckles in the hand.

Note: The green region drawn is using "Draw contours". Is it possible to use this region to crop the red marked area ( Knuckle ). How to crop these regions.

enter image description here

Update ( 26/2/2014 ):

I have found contour points as below. With the below information in hand is it possible to find the knuckle region. Is there any ways to find using the points.

enter image description here

2
Yeah it's possible, but somehow i doubt that is the answer you are looking for. What is it exactly that you want answered?Nallath
@Nallath I want to know with these informations available, how to crop the regions marked in red. I am involved in FKP ( Finger Knuckle Print ) Recognition.user2727765
look at edge map and locate the areas where edges are dense. or apply sobel filter (dx) to detect where the vertical edges are.baci
Your question is very confusing. If you know the outlines of the regions marked in red then cropping the area is trivial. You should rephrase your question "How can I detect the regions with Finger Knuckles after I detected an outline of the hand?"Alexey
@CanberkBaci Thanks, can I get few examples and detailed links on this, which would be really helpful for me.user2727765

2 Answers

0
votes

Since you already know the red position, all you want is to crop this region?

It's very easy, you just need to set a ROI (Region of interest) and to copy this region to another image. Like this (in pseudo-code since I don't have an open CV project up and running)

img1.ROI = varRedRectangle
img1.copyTo(img2)
img1.ROI = null;

If your question is how to detect the red section, I think you need to do like anyone in image recognition and work a lot because there is tons of way to do it nobody here will find them for you.

Hope it helps!

0
votes

If your idea is to detect those red areas you can use the following simple idea.

  1. Get edge image and remove the edges outside the green boundary.

  2. Apply Horizontal histogram to get separate the strips.

  3. In each take vertical histogram and locate the bins with values within a neighbourhood of the peak. (Lets call these as Peak Bins)
  4. The longest contiguous sequence of peak bins should give the answer.