【发布时间】:2021-05-22 01:52:24
【问题描述】:
我正在尝试将原始图像划分为 8x8 重叠块,以便稍后进行特征提取。
这是我的代码:
new0 = np.zeros((heightimage0R, widthimage0R), np.uint8)
k = 0
for i in range(heightimage0R):
for j in range(widthimage0R):
crop_tmp0R = image0R[i:i+8,j:j+8]
new0[k, 0:64] = crop_tmp0R.flatten()
k = k + 1
但是,当我运行我的代码时,我会收到以下错误:
Traceback (most recent call last):
File "<ipython-input-392-cf9c59842d3a>", line 6, in <module>
new0[k, 0:64] = crop_tmp0R.flatten()
IndexError: index 256 is out of bounds for axis 0 with size 256
我已经在 for 循环中尝试了widthimage0R-1,但它仍然不起作用。
【问题讨论】:
-
widthimage0R可能是 1 太大,在 for 循环中尝试widthimage0R - 1。 -
我也试过了,可惜没用!
-
-
8 X 8 overlapping blocks-> 这是什么意思?你能具体指定多少重叠/确切的大小(以像素数或相对于图像大小) -
i+8最多为heightimage0R + 8,超出heightimage0R大小数组的范围。您可能只想迭代for i in range(heightimage0R-8):。j也是如此。
标签: python numpy for-loop feature-extraction