Recognizing shapes in (binary) matrix

Hey all,
I'm trying to find a shape in a binary image.
In order to do that i am using bwboundaries() function to identify all the shapes in the image. I get a cell with matrices (the size of X by 2), of all the objects. Each matrix represent the number of pixels in the object.
For example, lets say there are two matrices, almost the same size. One representing the shape of a line, the other the shape of a circle (not exactly a line or a circle).
My question is - can i differ the line from the circle ?
Any help appreciated.
Yair

 채택된 답변

Doug Hull
Doug Hull 2013년 6월 10일

0 개 추천

If you KNOW that you are either dealing with a line or a circle, then could you look at the MajorAxisLength and MinorAxisLength from RegionProps. Their ratios should be wildly different, yes?
Doug

댓글 수: 3

Sean de Wolski
Sean de Wolski 2013년 6월 10일
Also: EquivalentDiameter v. MajorAxisLength
Yair
Yair 2013년 6월 11일
Thank you both.
Gonna try this now and let you know.
Yair
Yair 2013년 6월 12일
Worked like a charm!
If anyone stumbles across this, you could do:
STATS1(1).MajorAxisLength / STATS2(1).MinorAxisLength;
to get the ratio of the two axis (where STATS1=regionprops(h, 'MajorAxisLength'), and STATS2 is the minor axis).

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

질문:

2013년 6월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by