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

Matlab 如何使用子图像的质心裁剪子图像?,matlab,crop,centroid,Matlab,Crop,Centroid,要获得子图像,有imcrop功能。但是我想使用已经实现的质心,(x,y)裁剪子图像 Image = 512x512 Centroid = (x,y) = (178.92, 207.20) 此外,imcrop函数不获取任何作为质心的输入 B = imcrop(A, [col, row, width, height]; 如何使用子图像的质心裁剪子图像 此外,根据使用(x,y)中心估计的矩形的指定大小和位置,子图像被裁剪,但其输出不正确 例: 根据您的帖子和,函数imcrop()使用一个矩形作为

要获得子图像,有
imcrop
功能。但是我想使用已经实现的
质心
(x,y)
裁剪子图像

Image = 512x512
Centroid = (x,y) = (178.92, 207.20)
此外,
imcrop
函数不获取任何作为质心的输入

B = imcrop(A, [col, row, width, height]; 
如何使用子图像的质心裁剪子图像

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

例:


根据您的帖子和,函数
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]);

这将为您提供一个子图像,对象位于中间。

我不确定是否理解:您想剪切图像的某些部分,但您只知道一个位置?你为什么认为这是可能的?请详细说明……@avermaet:我不知道这是否可能。是的,我只有一个位置,它是物体的质心。@avermaet:是的,我使用“regionprops”获得了物体的信息,但它们并不精确(物体是肿瘤)好的,我没有处理肿瘤图像的经验,但你不能只在已知物体的角/边上增加一些百分比吗?(为了扩展交叉区域)尝试
imcrop(img[c(1)-28c(2)-282*282*28])
% c is the known centroid position
Win_Obj = imcrop(RNod, [c(1)-28 c(2)-28 2*28 2*28]);