Extract segments of 1's from binary matrix
2 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I'm looking for a way to extract segments of 1's in a arbirtay big binary matrix. For example, in this matrix:
0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 1
0 0 0 1 0 0 0 1
0 0 0 1 0 0 0 1
I would like to extract 3 segments automatically, for example like:
(2, 1:5)
(2:4, 8)
(3:4, 4) or alternativy (2:4,4)
I'm not bound to the above notation regarding start and stop, it can be stored in any way, it is just an example.
I have played around with find() but I don't seem to be able to get it right
/Niklas
0 件のコメント
採用された回答
Walter Roberson
2022 年 7 月 5 日
You can bwconncomp and pass in a connection array that is a central row or central column of 1s. You would do that twice, once for each direction, and ignore the components of size 1.
3 件のコメント
Walter Roberson
2022 年 7 月 5 日
To expand a little, bwconncomp accepts connectivity that is a number, but it also accepts connectivity as a mask array such as [0 0 0;1 1 1;0 0 0]
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!