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![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/199412/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/199412/image.png)
0 个评论
采纳的回答
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Contour Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!