Get inidces for specific conditions from binary mask
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Walter Roberson
il 31 Ott 2021
NC = conv2(M, [1 1 1; 1 0 1; 1 1 1], 'same');
mask = M & (NC < 8);
%now you can find() on mask
Più risposte (1)
Image Analyst
il 31 Ott 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')
Vedere anche
Categorie
Scopri di più su Author Block Masks in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!