How to delete the branches?

15 ビュー (過去 30 日間)
rui gao
rui gao 2019 年 9 月 23 日
コメント済み: rui gao 2019 年 10 月 4 日
111.png
I have a matrix which just consist by 0 and 1, like the figure above (1 is black and 0 is white). It's kind of river, but there is some noise like the red arrows above.
Is there some ways to identify these small segment lines and delete these small segment lines?
Calculating the length (pixel) of these small segment lines is not necessary, but I am interested to know it.
Any suggestion will be appreciated.

採用された回答

rui gao
rui gao 2019 年 9 月 23 日
Maybe I can delete these segment lines in ArcGIS as the small segment lines can be identified as short length.
  4 件のコメント
darova
darova 2019 年 9 月 23 日
See if bwmorph can manage it
I1 = bwmorph(I,'spur',inf)
rui gao
rui gao 2019 年 9 月 24 日
WeChat Image_20190923190308.png
Oops, for this kind of situation, the left red line should be remained, but it was deleted.
Maybe, we should add something ???

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

その他の回答 (1 件)

darova
darova 2019 年 9 月 24 日
I have an idea:
  • Find pairs of branch/end points smaller than desired length
  • Select circle area between points. Find biggest area in this circle (if there are) and remove it
  • Place modificated circle area into original image
1Untitled.png
See the attached script
  12 件のコメント
darova
darova 2019 年 10 月 4 日
Sure, see attached script
Just pick some points to add lines (press Enter to finish)
rui gao
rui gao 2019 年 10 月 4 日
Thank you so much.

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

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by