How to find the broadest width of contour and calculate it.

2 次查看(过去 30 天)
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

采纳的回答

Image Analyst
Image Analyst 2018-12-19
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 个评论
AliAlemana
AliAlemana 2018-12-27
Dear Image Analyst,
I am very sorry I reply so late, I found an easier solution than yours but still, thank you very very much for the fast and helpful answer!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Contour Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by