如何使用其质心裁剪子图像?
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]);
这应该会为您提供一个以您的对象为中心的子图像。
要获取子图像,有 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]);
这应该会为您提供一个以您的对象为中心的子图像。