1 | initial version |
Maybe try taking a different aproach, try to compute all distances between the hand centroid and each point in the contour, and then find the local maxima in this distances vector. Due to the nature of a hand, you expect that a fingertip will have a local peak distance to the centroid.
If your contour has the size and detail of the image you posted, this approached should work quite well.
2 | No.2 Revision |
Maybe try taking a different aproach, try to compute all distances between the hand centroid and each point in the contour, and then find the local maxima in this distances vector. A local maxima in this context is a point at which the distance to the centroid has increased and then started to decrease.
Due to the nature of a hand, you expect that a fingertip will have a local peak distance to the centroid.centroid. This wouldn't detect the 1, 2 and 3 points you marked because it wouldn't verify these conditions.
If your contour has the size and detail of the image you posted, this approached should work quite well.
3 | No.3 Revision |
Maybe try taking a different aproach, try to compute all distances between the hand centroid and each point in the contour, and then find the local maxima in this distances vector. A local maxima in this context is a point at which the distance to the centroid has increased increases and then started starts to decrease.
Due to the nature of a hand, you expect that a fingertip will have a local peak distance to the centroid. This wouldn't detect the 1, 2 and 3 points you marked because it wouldn't verify these conditions.
If your contour has the size and detail of the image you posted, this approached should work quite well.
4 | No.4 Revision |
Maybe try taking a different aproach, try to compute all distances between the hand centroid and each point in the contour, and then find the local maxima in this distances vector. A local maxima in this context is a point at which the distance to the centroid increases and then starts to decrease. Due to the nature of a hand, you expect that a fingertip will have a local peak distance to the centroid. This wouldn't detect the 1, 2 and 3 points you marked because it wouldn't verify these conditions.
If your contour has the size and detail of the image you posted, this approached should work quite well.
EDIT: Just realized you want also to detect the base intersection of the fingers. You can adapt this approach and include the local minima, and exclude any local minima that isn't between to local maxima.
5 | No.5 Revision |
Maybe try taking a different aproach, try to compute all distances between the hand centroid and each point in the contour, and then find the local maxima in this distances vector. A local maxima in this context is a point at which the distance to the centroid increases and then starts to decrease. Due to the nature of a hand, you expect that a fingertip will have a local peak distance to the centroid. This wouldn't detect the 1, 2 and 3 points you marked because it wouldn't verify these conditions.
If your contour has the size and detail of the image you posted, this approached should work quite well.
EDIT: Just realized you want also to detect the base intersection of the fingers. You can adapt this approach and include the local minima, and exclude any local minima that isn't between to two local maxima.
6 | No.6 Revision |
Maybe try taking a different aproach, try to compute all distances between the hand centroid and each point in the contour, and then find the local maxima in this distances vector. A local maxima in this context is a point at which the distance to the centroid increases and then starts to decrease. Due to the nature of a hand, you expect that a fingertip will have a local peak distance to the centroid. This wouldn't detect the 1, 2 and 3 points you marked because it wouldn't verify these conditions.
If your contour has the size and detail of the image you posted, this approached should work quite well.
EDIT: Just realized you want also to detect the base intersection of the fingers. You can adapt this approach and include the local minima, and exclude any local minima that isn't aren't between two local maxima.
7 | No.7 Revision |
Maybe try taking a different aproach, try to compute all distances between the hand centroid and each point in the contour, and then find the local maxima in this distances vector. A local maxima in this context is a point at which the distance to the centroid increases and then starts to decrease.
Due to the nature of a hand, you expect that a fingertip will have a local peak distance to the centroid. This wouldn't detect the 1, 2 and 3 points you marked because it they wouldn't verify these conditions.
If your contour has the size and detail of the image you posted, this approached should work quite well.
EDIT: Just realized you want also to detect the base intersection of the fingers. You can adapt this approach and include the local minima, and exclude any local minima that aren't between two local maxima.
8 | No.8 Revision |
Maybe try taking a different aproach, try to compute all distances between the hand centroid and each point in the contour, and then find the local maxima in this distances vector. A local maxima in this context is a point at which the distance to the centroid increases and then starts to decrease. Due to the nature of a hand, you expect that a fingertip will have a local peak distance to the centroid. This wouldn't detect the 1, 2 and 3 points you marked because they wouldn't verify these conditions.
If your contour has the size and detail of the image you posted, this approached approach should work quite well.
EDIT: Just realized you want also to detect the base intersection of the fingers. You can adapt this approach and include the local minima, and exclude any local minima that aren't between two local maxima.