这可以通过以下方式实现
cube = (
cube[::2, ::2, ::2]
+ cube[1::2, ::2, ::2]
+ cube[::2, 1::2, ::2]
+ cube[1::2, 1::2, ::2]
+ cube[::2, ::2, 1::2]
+ cube[1::2, ::2, 1::2]
+ cube[::2, 1::2, 1::2]
+ cube[1::2, 1::2, 1::2]
)
但我想知道是否有一个功能可以快速而干净地完成这一点。如果没有,这个行动有没有一个规范的名字?
2条答案
按热度按时间7tofc5zh1#
这听起来像是经典的跨步卷积合并操作。
您可以通过多种方式完成此操作,但最直接的方法可能是使用skImage的
block_reduce
功能,如下所示-另一种方法是直接将“立方体”与“一”内核卷积,然后对所需的2步长进行子采样:
sqyvllje2#
在纯
numpy
中(也就是说,如果您被困在不可扩展的API中,或者试图限制依赖项),您可以使用我的配方here