How to judge a point whether inside a closed contour or not?
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
John W. Z
le 21 Mar 2016
Commenté : John W. Z
le 22 Mar 2016
Assume a circle contour image matrix
c= [ 0 0 0 0 1 0 0 0 0
0 0 0 1 0 1 0 0 0
0 0 1 0 0 0 1 0 0
0 1 0 0 0 0 0 1 0
0 1 0 0 0 0 0 1 0
0 0 1 0 0 0 1 0 0
0 0 0 1 0 1 0 0 0
0 0 0 0 1 0 0 0 0 ]
and a point p=[4 3], apparently inside this circle. But, how to make such judgement in matlab.
0 commentaires
Réponse acceptée
Walter Roberson
le 21 Mar 2016
http://www.mathworks.com/help/images/ref/imfill.html imfill ('holes'). If the point gets assigned a non-zero value then it is inside a closed contour.
2 commentaires
Image Analyst
le 22 Mar 2016
Clever. If you want to know if it's on the perimeter or inside (not on perimeter) then check c first
if c(4,3)
% On perimeter.
else
filledc = imfill(c, 'holes');
if filledc(4,3)
% Inside, not on perimeter
else
% Not inside any closed contour at all
end
end
If you don't care whether it's on the perimeter or inside, just do
filledc = imfill(c, 'holes');
if filledc(4,3)
% Inside, or on perimeter
else
% Not inside any closed contour at all
end
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Contour Plots dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!