在二进制图像中找到给定像素的连通分量

Bra*_*ker 3 matlab image-processing

我想找到给定像素的连通分量,然后在matlab中测试另一个像素是否属于该组件.

CC = bwconncomp(BW);
numPixels = cellfun(@numel,CC.PixelIdxList);
...
Run Code Online (Sandbox Code Playgroud)

如何循环所有CC,并为每个CC,并测试给定像素是否属于它!

Sha*_*hai 6

我认为你最好将连接的组件表示为带标签的图像

lb = bwlabel( BW );
Run Code Online (Sandbox Code Playgroud)

现在,每个像素BW都有一个标签(1..N),而背景像素保持为0.
你可以测试像素x,y它的标签是什么:

 lb( y, x )
Run Code Online (Sandbox Code Playgroud)

您可以比较两个像素的标签

 lb( y1, x1 ) == lb( y2, x2 )
Run Code Online (Sandbox Code Playgroud)