Traceback (most recent call last): File "C:/Users/86150/Desktop/python姿势识别/Posture_recognition.py", line 17, in <module> for landmark_list in results.pose_landmarks: TypeError: 'NormalizedLandmarkList' object is not iterable
时间: 2024-04-16 10:28:50 浏览: 198
Mac下anaconda中Spyder打开报错Traceback(most recent call last)…问题
5星 · 资源好评率100%
根据错误消息,可以看出问题出现在循环遍历`results.pose_landmarks`这一行。错误提示说`NormalizedLandmarkList`对象不可迭代。
根据MediaPipe的文档,`pose_landmarks`是一个包含了所有检测到的姿势关键点的列表,但它本身不是一个可迭代的对象。所以我们需要将循环遍历的方式进行修改。
请尝试将代码中的以下部分进行修改:
```python
if results.pose_landmarks:
for landmark in results.pose_landmarks.landmark:
h, w, c = img.shape
cx, cy = int(landmark.x * w), int(landmark.y * h)
cv2.circle(img, (cx, cy), 5, (0, 255, 0), -1)
```
将`for landmark_list in results.pose_landmarks`修改为`for landmark in results.pose_landmarks.landmark`。这样就可以直接遍历姿势关键点的列表了。
然后重新运行代码,看看问题是否解决了。如果还有其他问题或错误,请提供详细的错误信息。
阅读全文