近期在使用 opencv-python 进行目标跟踪时,发现会报错 Module 'cv2.cv2' has no attribute 'Tracker_create',该方法调用代码如下:
if tracker_type == 'BOOSTING':
tracker = cv2.TrackerBoosting_create()
if tracker_type == 'MIL':
tracker = cv2.TrackerMIL_create()
if tracker_type == 'KCF':
tracker = cv2.TrackerKCF_create()
if tracker_type == 'TLD':
tracker = cv2.TrackerTLD_create()
if tracker_type == 'MEDIANFLOW':
tracker = cv2.TrackerMedianFlow_create()
if tracker_type == 'GOTURN':
tracker = cv2.TrackerGOTURN_create()
if tracker_type == 'MOSSE':
tracker = cv2.TrackerMOSSE_create()
if tracker_type == "CSRT":
tracker = cv2.TrackerCSRT_create()
该错误的原因在于4.0以上版本的 opencv-python 库已移除目标跟踪相关代码,需要安装opencv-python-contrib 库,解决方案如下。
方案一
安装 opencv-python 库后再安装相同版本的 opencv-python-contrib 库,调用跟踪方法时可使用如下方式:

方案二
根据官方仓库下Issues中的说法,卸载 opencv-python 和 opencv-python-contrib 库(如有)后重启,仅安装 opencv-python-contrib 库。调用跟踪方法方式如下:

注意事项
- 如果用VS code的话,跟踪器不会显示在代码联想里。想要使用代码补全建议用 PyCharm,方法见 pycharm无法显示cv2成员函数解决方法。
- 前述的跟踪器不少在较高版本的 opencv 中都被舍弃了,具体哪些跟踪能用需参照官方文档。
在使用opencv-python进行目标跟踪时遇到cv2.cv2没有Tracker_create属性的错误,原因是4.0以上版本移除了相关代码。解决方案包括安装opencv-python-contrib库,或者根据官方建议重新安装。注意,某些跟踪器在高版本中已被弃用,应参考官方文档确认可用方法。VScode可能不显示跟踪器的代码联想,推荐使用PyCharm以获得代码补全功能。
2432

被折叠的 条评论
为什么被折叠?



