K210报错AttributeError: 'blob' object has no attribute 'corners'如何解决
时间: 2024-08-14 17:01:37 浏览: 125
这个错误`AttributeError: 'blob' object has no attribute 'corners'`通常是由于Python代码中的某个blob对象尝试访问不存在的属性'corners'导致的。Blob通常是指OpenCV中的BlobContour对象,该对象可能没有corners属性。
首先,确认是否正确地创建了blob对象,并且这个对象确实应该是包含角点信息的。例如,在OpenCV的轮廓处理部分,你需要先执行轮廓提取,然后才能获取corners。以下是一个例子:
```python
import cv2
# 假设img是已经处理过的二值图像
contours, hierarchy = cv2.findContours(img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 检查 contours 是否有corners属性,如果没有,则可能是误用了名字或OpenCV版本差异
if hasattr(contours, 'corners'):
# 如果有,那么 cornors 应该是在轮廓上的其他属性,而不是所有blobs
corner_points = [cv2.boundingRect(c)['tl'] for c in contours]
else:
print("The contour does not have a 'corners' attribute.")
```
如果blob确实代表的是角点数据,检查一下之前的数据处理步骤,看是否正确地进行了角点检测,如`detector.detect()`这部分是否返回了一个正确的特征描述符集合(通常是`keypoints`),而不是角点。
如果你在OpenCV的最新版本中遇到了这个问题,确保你正确地引用了`cv2.KeyPoint`中的角点属性。
阅读全文
相关推荐


















