detect shape in image
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
how i can use code regionprops to detect square,circle and other shapes using only one command?
0 comentarios
Respuesta aceptada
Image Analyst
el 1 de Abr. de 2012
You can't do it in one command. The best you can do is a few commands, depending on what you mean by "detect." Basically you have to measure a bunch of things and figure out which of those, in which ranges, uniquely identifies each type of shape you want to "detect." A good starting place is to computer the "circularity" which is:
allAreas = [measurements.Area];
allPerimeters = [measurements.Perimeter];
circularities = allPerimeters.^2 ./ (4*pi*allAreas);
A perfect circle is 1 and other shapes will lie in certain ranges above 1. There may be overlap of the ranges for shapes that are indeterminate, such as a triangle with bulging sides (almost rounded).
See my image segmentation tutorial: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
2 comentarios
Image Analyst
el 1 de Abr. de 2012
What is the "square equation" and how would it apply here? Do you mean the value of the circularity for squares? I don't know off the top of my head what they are for squares, triangles, etc. You'll just have to try it and see what range they fall in to. It may be that squares have circularity in the range 5-10, and triangles are in the range 8-15, but I don't know - you'll just have to try it and find out.
Más respuestas (0)
Ver también
Categorías
Más información sobre Image Segmentation and Analysis en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!