Numpy错误:在python中"ValueError: cannot copy sequence with size 2 to array axis with dimension 4"



我的代码中有错误,我做了测试代码。对于我的测试代码的一点描述:我导入了numpy模块。
我做了变量开始坐标,然后做了array7×4。
之后,我进入循环for并迭代数组,我从变量开始执行步骤x by 10y by 5
然后在college和array中分别添加xy
Printed array:3**当我开始编写代码时,我有它:

ValueError: cannot copy sequence with size 2 to array axis with dimension 4

如何解决这个错误?
这里是CODE:

import numpy as np
#FOR TEST
pose = (640, 154)
all_poses = np.zeros((1, 7, 4))

for i in range(0, 6):
for j in range(0, 4):
y = pose[1] - i * 5
x = pose[0] - j * 10
cortege = (x, y)
all_poses[i, j] = cortege
print(all_poses) 

您得到错误的原因是cortege的尺寸是1x2,而all_poses[i, j]的尺寸是1x4。所以当你做all_poses[i, j] = cortege的时候,你在做类似于[0, 0, 0, 0] = [650, 154]的事情。这里的尺寸不匹配,你会得到错误。

一种避免错误的方法是将开始的all_pose的尺寸改为7x2而不是7x4,或者执行all_poses[i, j] = cortege*2,将[650,154,650,154]添加到all_pose [i, j],从而匹配尺寸。尽管您为避免错误所做的工作取决于您想要用代码实现的目标,这在您的问题中并不清楚。你能解释一下你想让你的代码做什么吗?

最新更新