围绕质心裁剪正方形(numpy)[关闭]

Posted

技术标签:

【中文标题】围绕质心裁剪正方形(numpy)[关闭]【英文标题】:Crop a square shape around a centroid (numpy) [closed] 【发布时间】:2018-12-13 08:05:58 【问题描述】:

我有一个包含圆圈的 numpy 数组图像。我提取了这些圆的整个 x,y 质心(以像素为单位)(也是一个 numpy 数组)。现在,我想在每个 x,y 质心周围裁剪一个正方形。 有人可以指导我如何解决吗? 请注意,我在 Stack 中没有发现任何涉及特定坐标周围裁剪的问题。

谢谢!

【问题讨论】:

【参考方案1】:

如果你的质心有索引i,j,并且你想在一个numpy数组a上裁剪一个大小为2*w+1的正方形,你可以这样做

a[i-w:i+w+1,j-w:j+w+1]

前提是您的索引始终大于边界的w

如果不是,你可以这样做

imin = max(0,i-w)
imax = min(a.shape[0],i+w+1)
jmin = max(0,j-w)
jmax = min(a.shape[1],j+w+1) 
a[imin:imax,jmin:jmax]

【讨论】:

有一种更有效的方法可以使用np.where 在边界处剪切索引。您可以在堆栈上四处阅读以在某处找到它。如果您想阅读此内容,一般术语是“numpy 切片”

以上是关于围绕质心裁剪正方形(numpy)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何裁剪 W/H 相同尺寸的图像(Ubuntu 16)[关闭]

在Android中以给定的正方形大小裁剪图像?

修复Android中图像裁剪的正方形

在 iOS 中将图像裁剪为正方形

CSS 将横向裁剪为正方形

[转]裁剪图片为正方形