Get inidces for specific conditions from binary mask
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
PA
el 31 de Oct. de 2021
Comentada: PA
el 1 de Nov. de 2021
Dear MATLAB-Community,
I have a binary mask M (attached).
I would like to get the indices that match the following condition: Find all "1" that have at least one "0" as a neighboring entry.
I have tried a lot the last days but did not find a solution. It would be great if someone could help me with that.
Best regards!
0 comentarios
Respuesta aceptada
Walter Roberson
el 31 de Oct. de 2021
NC = conv2(M, [1 1 1; 1 0 1; 1 1 1], 'same');
mask = M & (NC < 8);
%now you can find() on mask
Más respuestas (1)
Image Analyst
el 31 de Oct. de 2021
There is a built-in function for this in the Image Processing Toolbox. It's called bwperim(). Full demo:
s = load('m.mat')
M = s.M;
subplot(2, 1, 1);
imshow(M, [])
axis('on', 'image')
% Find all 1 that have a zero as a neighbor.
% We can use bwperim() for this
perimImage = bwperim(M);
subplot(2, 1, 2);
imshow(perimImage, [])
axis('on', 'image')
Ver también
Categorías
Más información sobre Author Block Masks en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!