Anaconda(Python2.7)安装带跟踪功能的OpenCV v3.4问题求助
解决Anaconda Python2.7搭配带跟踪功能的OpenCV3.4的问题
为什么提取的cv2.pyd没有跟踪功能?
从Windows OpenCV官方安装包提取的cv2.pyd确实存在功能限制——跟踪模块(Tracking)属于opencv_contrib扩展库的一部分,而官方默认编译的OpenCV安装包通常不会包含opencv_contrib里的模块,所以你调用cv2.Tracker_create()或cv2.TrackerKCF_create()时会提示找不到属性,而OpenCV基础功能不受影响。
如何安装带跟踪功能的OpenCV3.4(Python2.7环境)
针对你的需求,这里提供两种可行方案:
方案1:使用conda-forge源安装
conda-forge频道维护的OpenCV包通常会包含opencv_contrib模块,你可以尝试在Anaconda Prompt中执行以下命令:
conda install -c conda-forge opencv=3.4
注意:由于Python2.7已停止官方支持,部分源的包可能不再更新,执行前可以先通过
conda search -c conda-forge opencv=3.4确认是否有适配Python2.7的版本。
方案2:手动编译OpenCV+opencv_contrib(最稳妥)
如果conda源找不到合适的包,手动编译是确保拿到带跟踪功能的OpenCV3.4的可靠方法,步骤如下:
- 下载对应版本的源码:OpenCV3.4源码和同版本的opencv_contrib源码
- 用CMake配置编译参数:
- 指定Anaconda Python2.7的
python.exe、python.h路径和numpy的include路径 - 勾选
BUILD_opencv_tracking选项 - 在
OPENCV_EXTRA_MODULES_PATH中填入opencv_contrib的modules文件夹路径
- 指定Anaconda Python2.7的
- 用Visual Studio(推荐2015或2017版本,适配Python2.7)编译生成
cv2.pyd,将其复制到Anaconda环境的Lib/site-packages目录下替换原有文件。
关于menpo源的说明
你提到的conda install -c menpo opencv3确实只能安装到OpenCV3.1,且该版本存在跟踪bug,这是因为menpo频道的opencv3包很久没有更新了,不再适配更高版本的需求,不建议继续使用这个源。
内容的提问来源于stack exchange,提问作者maffoo
相关产品推荐
相关产品推荐

