How to calculate the centroid / center of a patch?
조회 수: 7 (최근 30일)
이전 댓글 표시
Maybe something like this?
[Xc,Yc] = centroid(patch('XData',X,'YData',Y))
댓글 수: 2
jessupj
2022년 3월 1일
i have you tried polyshape instead of a patch? you're defining the patch there with x,y data, so you can use those data to define the right object to apply centroid to
채택된 답변
추가 답변 (2개)
Constantino Carlos Reyes-Aldasoro
2022년 3월 1일
The data X,Y must have been previously calculated from some raw data, say a thresholded figure, it is from that data you can easily calculate centroids with regionprops
Image Analyst
2022년 3월 1일
Depends on what you have. If you have just arbitrary (x,y) data gotten somehow, like through assignment, then you can create a polyshape with the polyshape() function, and then use centroid(), like @David Hill showed.
If you have a binary image (like @Constantino Carlos Reyes-Aldasoro assumed -- say from thresholding), and want the centroid of each region, you can use regionprops():
props = regionprops(binaryImage, 'Centroid');
xyCentroids = vertcat(props.Centroid)
If you'd like a tutorial on image segmentation that shows that, you can see my Image Segmentation Tutorial:
참고 항목
카테고리
Help Center 및 File Exchange에서 Microscopy에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!