How obtain coordinates of pixels within bwboundaries for each object?
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Suppose I have an image
and then I use the code below
I=imread("image.bmp");
imshow(I); hold on; [B,L,N] = bwboundaries(I);
for k=1:length(B),
boundary = B{k};
plot(boundary(:,2), boundary(:,1),'.r')
end
The boundaries then look like
However, I don't just want the x,y coordinates of each pixel ON the boundaries. I also want the x,y coordinates of each pixel INSIDE the boundaries also. That is, I want to store the row/column numbers for each object in separate matrices. So I want a matrix `A1` that should store the row/column numbers for the white pixels in the big object, and a matrix `A2` that should store the row/column numbers for the white pixels in the circular object
Is there a way to do this in Matlab?
1 comentario
Respuestas (1)
KALYAN ACHARJYA
el 17 de Abr. de 2019
Editada: KALYAN ACHARJYA
el 17 de Abr. de 2019
Code for find the pixels of two withe segmented objects
(Larger is object1 and circular object2)
%Image raed, ensure that image_bw is the binary image
image_bw=im2bw(rgb2gray(imread('image5.png')));
%Extration largest 1 blob only
object1=bwareafilt(image_bw,1);
% Find the rows and colums of object1
[rows_obj1,rows_obj1]=find(object1);
% Find second object
object2=image_bw & imcomplement(object1);
[rows_obj2,cols_obj2]=find(object2);
% Now use the rows_obj1 & rows_obj1 as you want
% Also rows_obj2 & cols_obj2
matrix_A1=[rows_obj1 rows_obj1];
matrix_A2=[rows_obj2 rows_obj2];
2 comentarios
KALYAN ACHARJYA
el 17 de Abr. de 2019
As you asked for individual matrices for each segmented part(blobs), any image having more number of segmented blobs, you must separate indivually and apply the same.
Ver también
Categorías
Más información sobre Computer Vision with Simulink en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!