Locate points inside region based on coordinates

5 views (last 30 days)
Hi guys, MATLAB rookie here. I have a matrix of points distribution coordinates and binary image of a structure. What I want to do is to select the points that located inside the structure of the binary image and extract those points. I read about using "&" but clearly it didn't work when I try it. Could you guys share some insights?

Accepted Answer

KSSV
KSSV on 10 Nov 2016
doc inpolygon.

More Answers (1)

Image Analyst
Image Analyst on 11 Nov 2016
You need to turn your (x,y) points into a binary image first. THEN you can use & and find() after that if you want to:
pointsImage = false(size(binaryImage));
for k = 1 : length(x)
thisRow = round(y(k));
thisCol = round(x(k));
pointsImage(thisRow, thisCol) = true;
end
% Find intersection.
% This will be an image of only the points inside blobs in binaryImage.
pointsInside = binaryImage & pointsImage;
% Find rows and columns of points inside
[rows, columns] = find(pointsInside); % or [y, x] = find(pointsInside);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!