如何通过特定的像素坐标显示连通分量

How to display the connected component through a specific pixel coordinate

我有一个灰度图像 add1,但是其中只有两个像素强度(黑色为 0,白色为 255)。我能够跟踪我考虑的像素的坐标,即 add1(i,j)。现在我想显示这个像素所属的连接组件。我已经尝试使用 regionprop 使用 'PixelIdxList''PixelList' 失败了。
谁能提前帮忙please.Thanks

据我所知,您想要这个:

            clc
            clear all
            close all

            im = imread('labelProb.png');
            im = im2bw(im);

            labelIm = bwlabel(im);
            rg = regionprops(im,'PixelIdxList','Centroid');

            figure,imshow(labelIm,[]),hold on
            for i = 1:length(rg)
                cc = rg(i).Centroid;
                text(cc(1),cc(2),['label: ',num2str(i)],'Color','b','FontSize',9)
            end
            f = getframe();
            lab = frame2im(f);
            hold off

            % suppose you want label number 3 only.

            cc = rg(3).Centroid; % this is your pixel index;
            % Extract label number through this index.
            cc = round(cc);
            labelNumber = labelIm(cc(2),cc(1));

            % create a new blank image.
            blankImage = false(size(im));

            for i = 1:length(rg)
                if i == labelNumber
                    blankImage(rg(i).PixelIdxList) = true;
                end
            end
            figure,imshow(blankImage,[])

以上执行结果为:

如果我理解你的问题,你想要的是:给定一个特定的坐标 (i,j) 标签是什么,(i,j) 是其中一部分的连接组件的掩码。

add = bwlabel( add1 ); %// convert to label mask
lij = add(i,j); %// get the label to which i,j belongs to
figure;
imshow( add == lij, [] ); %// select only the relevant label