How to judge a point whether inside a closed contour or not?
조회 수: 6 (최근 30일)
이전 댓글 표시
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
채택된 답변
Walter Roberson
2016년 3월 21일
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
Image Analyst
2016년 3월 22일
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Contour Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!