finding the centre line of the binary image

3 vues (au cours des 30 derniers jours)
Lord Thabet
Lord Thabet le 20 Sep 2021
Commenté : Lord Thabet le 20 Sep 2021
Hi,
I have been trying to find the mid points of the white pixel in binary image so that I can draw a horizontal centre line.
As shown in the below image.So I'm thinking that I can find the right and left side points and then from there I can find the middle point for each row and this will create a multiple points which will alow me to dwar a centre line.
please if any one would be happy to help me that would be great. Thanks in advance
This is the image that I have.

Réponse acceptée

Image Analyst
Image Analyst le 20 Sep 2021
Try
[rows, columns] = size(binaryImage);
leftEdges = nan(rows, 1);
rightEdges = nan(rows, 1);
for row = 1 : rows
t = find(binaryImage(row, :), 1, 'first');
if ~isempty(t)
leftEdges(row) = t;
rightEdges(row) = find(binaryImage(row, :), 1, 'last')
end
end
midPoints = (leftEdges + rightEdges) / 2;;
  5 commentaires
Image Analyst
Image Analyst le 20 Sep 2021
Modifié(e) : Image Analyst le 20 Sep 2021
Looks like x and y are flipped. Try
x = 1:rows
plot(x, midPoints, '*')
Lord Thabet
Lord Thabet le 20 Sep 2021
Thank you so much that did help.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by