How to find the maximum radius and connect it to the centroid

I want to connect the connect the center point to the five points(head, hands, legs) for the attached figure of a human. I have the center point and all the boundary points but don't understand the logic how to connect them. I know about convex hull and have tried that but it doesn't give me the desired output. I think these five points lie at the extreme radii. Is this concept right?? If yes, then how can i find the extreme radii of this figure. Any help will be greatly appreciated.

댓글 수: 2

I'm not sure you attached the correct figure. In no way does it ressemble a figure of a human.
The figure is correct. However, it is not drawn by Matlab bwboundaries, thats why its not that much precise. Also dimensionality reduction is performed on this figure.

댓글을 달려면 로그인하십시오.

답변 (1개)

Image Analyst
Image Analyst 2015년 12월 14일

0 개 추천

See Steve Eddins presentation to ICIP last month on new MATLAB capabilities.
Page 31:

댓글 수: 7

Thanks alot for sharing and updating regarding this toolbox. Unfortunately it is for Kinect. I am not using Kinect. Can you guide me how to select these five points on the boundary.
I don't know the details of how they did it. Ask Steve.
Kinect is just used to get a distance image. But as you can see, all the parts of the skeleton on that man are at the same distance, so it essentially boils down to finding the skeleton on a binary image. So it does not matter that it came from a Kinect camera.
I have the distance function implemented and also the difference function as shown in this snap shot. Can you only guide what they are saying about the extreme points. What to do with this function in STEP 4.
They're trying to find the separate, individual peaks that are farthest from the centroid. They're just finding when the difference goes from positive to negative or vice versa. This basically finds zero slope areas, which is the slope you'd have at the top of a peak. You can use findpeaks() if you have the Signal Processing Toolbox.
Now i am getting some peaks and their locations. How can i plot the lines so that they are not drawn on top of one another and refreshed for every frame. I tried using hold on and hold off with a loop but its not working. Either i am getting all the lines for all frames in one plot or only a single line
One thing more, when the human boundary is displayed, i dont know why, but its display upside down. How can i rotate the plot??
Instead of
plot(x, y);
do
plot(y, x);

댓글을 달려면 로그인하십시오.

질문:

2015년 12월 13일

댓글:

2015년 12월 14일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by