相关疑难解决方法(0)

numpy数组的边界框

假设您有一个2D numpy数组,其中包含一些随机值和周围的零.

示例"倾斜矩形":

import numpy as np
from skimage import transform

img1 = np.zeros((100,100))
img1[25:75,25:75] = 1.
img2 = transform.rotate(img1, 45)
Run Code Online (Sandbox Code Playgroud)

现在我想找到所有非零数据的最小边界矩形.例如:

a = np.where(img2 != 0)
bbox = img2[np.min(a[0]):np.max(a[0])+1, np.min(a[1]):np.max(a[1])+1]
Run Code Online (Sandbox Code Playgroud)

实现这一结果的最快方法是什么?我确信有更好的方法,因为如果我使用1000x1000数据集,np.where函数需要相当长的时间.

编辑:还应该在3D中工作......

python arrays numpy transformation

24
推荐指数
3
解决办法
2万
查看次数

标签 统计

arrays ×1

numpy ×1

python ×1

transformation ×1