如何从包含其他项目的列表中检索坐标?
How do I retrieve coordinates from a list containing other items?
所以我有一个名为 'masterStruc' 的列表,其中包含多个项目。我还将坐标存储在此列表中以备后用。但是,当我尝试从列表中检索坐标时,我收到“类型错误:'int' 对象不可订阅”。无论如何我可以从列表中获取值而不会出现此错误?在列表中,我有颜色、来自 approxPolyDP 函数的一些轮廓数据、轮廓区域以及 x 和 y 坐标。
#masterStruc appends the relevant data
masterStruc.append([x, approxCurve, contArea, cX, cY])
for z in range(len(masterStruc)):
#Drawing contours on the source image
cv2.drawContours(srcImg, [masterStruc[z][1]], 0, drawColor[masterStruc[z][0]], 2)
cv2.circle(srcImg, masterStruc[z[3][4]], 5, (255, 255, 255), -1)
感谢任何帮助
感谢您的回复。事实证明我的代码中有两个错误。第一个是我应该将 masterStruc 括在括号中。第二个是我无法使用列表传递 x 和 y 坐标,因为在某些索引处存在错误类型。我改为通过将坐标传递给变量然后将其用作参数来解决此错误。
x = masterStruc[z][3]
y = masterStruc[z][4]
cv2.circle(srcImg, (x, y), 5, (0, 0, 0), -1)
所以我有一个名为 'masterStruc' 的列表,其中包含多个项目。我还将坐标存储在此列表中以备后用。但是,当我尝试从列表中检索坐标时,我收到“类型错误:'int' 对象不可订阅”。无论如何我可以从列表中获取值而不会出现此错误?在列表中,我有颜色、来自 approxPolyDP 函数的一些轮廓数据、轮廓区域以及 x 和 y 坐标。
#masterStruc appends the relevant data
masterStruc.append([x, approxCurve, contArea, cX, cY])
for z in range(len(masterStruc)):
#Drawing contours on the source image
cv2.drawContours(srcImg, [masterStruc[z][1]], 0, drawColor[masterStruc[z][0]], 2)
cv2.circle(srcImg, masterStruc[z[3][4]], 5, (255, 255, 255), -1)
感谢任何帮助
感谢您的回复。事实证明我的代码中有两个错误。第一个是我应该将 masterStruc 括在括号中。第二个是我无法使用列表传递 x 和 y 坐标,因为在某些索引处存在错误类型。我改为通过将坐标传递给变量然后将其用作参数来解决此错误。
x = masterStruc[z][3]
y = masterStruc[z][4]
cv2.circle(srcImg, (x, y), 5, (0, 0, 0), -1)