使用OpenCv的过程中,因为在环境中安装、卸载别的包导致出错,然后卸载了原本的OpenCv库,用pip重新安装了opencv:
pip install opencv-python
pip install opencv-contrib-python
但是运行出现了如下报错:
QObject::moveToThread: Current thread (0x325e6c0) is not the object's thread (0x35b5230).
Cannot move to target thread (0x325e6c0)
在网上查询解决办法,主要有两种方法:
1、降级安装OpenCv(没试过);
2、pip安装的OpenCV与conda环境的pyqt(我也不懂这是干啥的,懂的可以介绍一下)不兼容,因此需要卸载conda环境的pyqt,再用pip安装。(试过了,可能引发报错的病因不同,没有用而且使得anaconda的UI界面打不开了)
成功解决:
第二种方法给我Anaconda干废了之后,重新安装了一遍,换了一种思路,如果是pip安装的opencv与conda不兼容,那我也可以不用pip装opencv,直接用anaconda安装opencv:
conda install opencv
亲测有效,不再报错。
结论:在Anaconda安装OpenCv会更加便捷(一行代码),而且会自动安装各种所依赖的包(matplotlib、numpy等),因此配置OpenCv环境首选conda。