How to find the broadest width of contour and calculate it.
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
AliAlemana
am 19 Dez. 2018
Kommentiert: Image Analyst
am 27 Dez. 2018
Hello everybody,
I would like to know, where my contour(1440 in the picture) is broadest (considering the y-direction for the width) and calculate it.
I read a lot but I am not sure which suggestion would be the best for my case (interp2, In2bw,...).
Thank you very much for your help,
Alina![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/199412/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/199412/image.png)
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 19 Dez. 2018
Try this (untested)
binaryImage = grayImage >= 1440
binaryImage = bwareafilt(binaryImage, 1); % Extract only the largest blob.
[rows, columns] = size(binaryImage);
for col = 1 : columns
thisColumn = binaryImage(:, col);
topRow(col) = find(thisColumn, 1, 'first');
bottomRow(col)= find(thisColumn, 1, 'last');
heights(col) = bottomRow(col) - topRow(col);
end
maxHeight = max(heights);
columnsOfMaxHeight = find(heights == maxHeight); % Might be more than one column with max height!
% Draw it
hold on;
for k = 1 : length(columnsOfMaxHeight)
thisCol = columnsOfMaxHeight(k);
line([thisCol, thisCol], [topRow(thisCol), bottomRow(thisCol)], 'Color', 'r', 'LineWidth', 2)
end
Let me know of any problems.
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Contour Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!