How do I measure distance between all pixels in a letter?

2 Ansichten (letzte 30 Tage)
mr
mr am 5 Dez. 2021
Kommentiert: Matt J am 6 Dez. 2021
I have an image like this:
and would need to measure the distance of all black pixels (which make up the letter T) from each other.
Can anyone recommend the best way?
I am particularly interested in the distance between pixels that make up the 'border' of the T, essentially this:
would you advise that I first turn the T into its own perimeter only (as in the second figure) and then map? Or is there a clever way to say "just map distances between pixels at the edge)?
many thanks
  1 Kommentar
Voss
Voss am 5 Dez. 2021
Say the border of the T contains 1000 pixels. Then the distance of all pixels from each other is a set of 1000*999 = 999000 distances (or 1000*1000 = 1000000 distances if we include the zero distances that each pixel is away from itself). Is that what you want to do?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Matt J
Matt J am 5 Dez. 2021
load image
[i,j]=find(bwperim(A))
distances=pdist2([i,j], [i,j]);
  2 Kommentare
mr
mr am 6 Dez. 2021
sorry, basic question, how did you save my image as logical structure?
Matt J
Matt J am 6 Dez. 2021
I used imbinarize().

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by