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

3 ビュー (過去 30 日間)
mr
mr 2021 年 12 月 5 日
コメント済み: Matt J 2021 年 12 月 6 日
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 件のコメント
Voss
Voss 2021 年 12 月 5 日
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?

サインインしてコメントする。

回答 (1 件)

Matt J
Matt J 2021 年 12 月 5 日
load image
[i,j]=find(bwperim(A))
distances=pdist2([i,j], [i,j]);
  2 件のコメント
mr
mr 2021 年 12 月 6 日
sorry, basic question, how did you save my image as logical structure?
Matt J
Matt J 2021 年 12 月 6 日
I used imbinarize().

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by