Why doesn't bwconncomp detect each connected component as expected?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi everyone!
I have the following binary image M
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1023340/image.jpeg)
I have a problem with bwconncomp. My aim is to generate Voronoi diagrams using as input not single points but blobs/connected components. However the command bwconncomp fails to detect each connected component as expected; as you can see from the following figure, it seems to calculate the centroid of every cluster of pixels, which is not what I want because I would obtain the voronoi diagram around the yellow shapes of the first figure, not around a single centroid point. How can I solve this? I attach an extract of my code and a zip file containing the functions and the main code called codice_gvd.m. Thanks in advance
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1023345/image.jpeg)
%% Pose
% Initial Pose
xs = 70; ys = 76; % valori iniziali 55 e 33
% Goal Pose
xg = 50; yg = 50; % valori iniziali 50 e 50
% Pose Matrix
pose = zeros(sz(1),sz(2));
pose(ys,xs) = 1;
pose(yg,xg) = 1;
%% Voronoi Road Map
figure('color','k');
hold on;
set(gcf, 'InvertHardCopy', 'off');
CC = bwconncomp(M);
p = CC.PixelIdxList;
m = zeros(length(p), 2);
for ii = 1:length(p)
[r, c] = ind2sub(size(M), p{ii});
m(ii,:) = [mean(c), mean(r)];
end
voronoi(m(:,1), m(:,2));
title({'Voronoi Road Map';'* - Represents Starting and Goal Position '},'color','w');
spy(pose,'*r')
2 Kommentare
Walter Roberson
am 6 Jun. 2022
CC = bwconncomp(hit);
we need hit for testing purposes. Also if hit is derived from something else it would help to see the logic chain
Antworten (1)
Image Analyst
am 6 Jun. 2022
Your binary image, hit, is a 1-D vector, not really an image. So not sure why you seem to be expecting that it's a 2-D image.
Siehe auch
Kategorien
Mehr zu Voronoi Diagram finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!