How to judge a point whether inside a closed contour or not?
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
John W. Z
am 21 Mär. 2016
Kommentiert: John W. Z
am 22 Mär. 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 Kommentare
Akzeptierte Antwort
Walter Roberson
am 21 Mär. 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 Kommentare
Image Analyst
am 22 Mär. 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
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Contour Plots finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!