MATLAB: Canny’s Edge Detection

circularityedge detectionImage Processing Toolbox

hello, canny edge detection is used to get the edges, but this paper says how to calculate roundness. is there any relation between canny edge and roundness please help!!!!
"Canny edge detection is performed on the resulting image from the previous section. Each object's area and perimeter is calculated and these results are used to form a simple metric indicating the roundness of an object. The perimeter is calculated by finding the length of the boundary pixels of the candidate. In calculating perimeter, the x and y coordinates are counted as one and diagonal neighbours are counted √2 times.
delta = diff(boundary).^2;
perimeter =sum(

Best Answer

Calculate the circularity:
measurements = regionprops(labeledImage, 'area', 'Perimeter');
allAreas = [measurements.Area];
appPerimeters = [measurements.Perimeter];
circularities = appPerimeters .^2 ./ (4*pi*allAreas);
If it's round, the circularity will be below 2-3 or so. For a perfect circle the circularity is 1. Higher values will be for less round objects with more tortuous borders.