module 'cv2.cv2' has no attribute 'legacy'
时间: 2023-08-05 09:06:54 浏览: 814
回答: 如果你在使用OpenCV时遇到了"module 'cv2.cv2' has no attribute 'legacy'"的错误,这可能是因为你的OpenCV版本过高。建议你回退到低于4.5的版本,例如使用4.4版本。在回退版本后,你可以尝试删除代码中的"legacy"部分,然后重新执行代码。这样应该可以解决这个问题。\[1\]
#### 引用[.reference_title]
- *1* [在目标跟踪时出现AttributeError: module ‘cv2‘ has no attribute ‘legacy‘的问题解决方法](https://blog.csdn.net/KD_NO_1/article/details/124596809)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关问题
如何解决AttributeError: module 'cv2' has no attribute 'MultiTracker_create'报错
这个报错是因为OpenCV的版本问题导致的。在OpenCV 4.5.1及以后的版本中,MultiTracker_create()方法已经被移除了。解决这个问题的方法是使用cv2.legacy.MultiTracker_create()代替cv2.MultiTracker_create()。下面是一个示例代码:
```python
import cv2
# 创建多目标追踪器
multiTracker = cv2.legacy.MultiTracker_create()
# 添加追踪目标
success, boxes = multiTracker.add(cv2.TrackerCSRT_create(), frame, bbox)
# 更新追踪器
success, boxes = multiTracker.update(frame)
```
如果你使用的是OpenCV 4.5.1及以后的版本,那么你需要使用cv2.legacy模块中的MultiTracker_create()方法来创建多目标追踪器。
上述代码出现错误:AttributeError: module 'cv2' has no attribute 'Tracker_create'
根据提供的引用内容,代码出现错误的原因是因为cv2库中的Tracker_create方法被删除了,所以在使用该方法时会报错。为了解决这个问题,可以使用引用中提供的改动后的代码,将原本的cv2.TrackerBoosting_create等方法改为cv2.legacy.TrackerBoosting_create等方法。这样就可以避免使用被删除的Tracker_create方法,从而解决报错问题。
阅读全文