如何使用其质心裁剪子图像?

How to crop the sub-image using its centroid?

要获取子图像,有 imcrop 函数。但我想使用已经实现的 centroid(x,y) 裁剪子图像。

Image = 512x512
Centroid = (x,y) = (178.92, 207.20)

另外,imcrop 函数没有得到任何作为质心的输入。

B = imcrop(A, [col, row, width, height]; 

如何使用质心裁剪子图像?

另外,根据(x, y))的中心估计的矩形的指定大小和位置,裁剪了子图像,但其输出不正确。

例如:

To calculate the input argument of `imcrop` function, we have:
Diam of Obj = 50 pixel. 
then its window = 50x50 pixel.
and so 57/2 = 28 to add and subtract of centroid.

Win_Obj = imcrop(RNod,[c(1)-28, c(2)-28, c(1)+28, c(2)+28]);

根据您的 post 和 docs,函数 imcrop() 使用矩形作为 [x_min y_min width height] 形式的第二个参数,因此您只需更改您对 imcrop 的调用采用以下形式:

% c is the known centroid position
Win_Obj = imcrop(RNod, [c(1)-28 c(2)-28 2*28 2*28]);

这应该会为您提供一个以您的对象为中心的子图像。