numpy.lib.stride_tricks为相同形状的数组产生不同的步幅

问题描述

我有一个数据集,与其他相同形状的数据集相比,步幅的数量不同。可以从以下位置的文件库下载数据集:

https://filebin.net/e02dm84v5etjyxoq

以下是我使用的代码,我想从NxM数组中提取每个5x5补丁:

>>> rand_array.shape
(827,914)
>>> tmp.shape
(827,914)
>>> a.shape
(748930,5,5)
>>> b.shape
(748930,5)
>>> rand_array.strides
(7312,8)
>>> tmp.strides
(3656,4)

对于数组'a'来说结果是正确的,但是即使'np.where(tmp> 0)'显然会产生值> 0的输出,我也会为'b'得到一个空数组。数据显示

{{1}}

因此,为什么as_strided技术对随机数组有效,但对我加载的数据无效,为什么唯一的区别似乎是步幅形状,如何固定才能产生适当的结果?我可以使它工作在一个看起来很凌乱的循环中,但是比这种方法花费的时间更长。另外,我目前也无法为“ view_as_windows”选项安装skimage。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)