How to find the inner distance between the 2 white lines
1 view (last 30 days)
Francesco Muoio on 17 Jan 2021
Hi,someone can give me a hand to make a script related to the problem?
Practically ,I want to get the distance column by column from the lowest white border of the upper part to the highest white border of the lower part.
I thank you in advance.
Matt Gaidica on 17 Jan 2021
Edited: Matt Gaidica on 17 Jan 2021
The only thing you don't state is what to do in the case around x=400 where white pixels do not demarcate the "top". One way to make the algorithm below work is to modify the array so that there is always white on top and bottom, as I do with C.
B = imbinarize(im2gray(imread('borderProblem.png')));
% force white on top and bottom
C = [ones(1,size(B,2));B;ones(1,size(B,2))];
maxDist = zeros(1,size(B,2));
for iCol = 1:size(B,2)
d = diff(C(:,iCol));
edgeIdxs = find(d ~= 0);
maxDist(iCol) = max(diff(edgeIdxs));