binaryImage = grayImage >= 1440
binaryImage = bwareafilt(binaryImage, 1);
[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);
hold on;
for k = 1 : length(columnsOfMaxHeight)
thisCol = columnsOfMaxHeight(k);
line([thisCol, thisCol], [topRow(thisCol), bottomRow(thisCol)], 'Color', 'r', 'LineWidth', 2)
end
Best Answer