Locate points inside region based on coordinates

4 vues (au cours des 30 derniers jours)
Jason States
Jason States le 10 Nov 2016
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?

Réponse acceptée

KSSV
KSSV le 10 Nov 2016
doc inpolygon.

Plus de réponses (1)

Image Analyst
Image Analyst le 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!

Translated by