QGIS 在 python 中导入 opencv 时终止

QGIS terminates on importing opencv in python

如果我在 python 控制台中 运行 "import cv2",我的 QGIS 软件将终止。 QGIS 版本为 3.6 Noosa。

我在 Python 3.7.3、QGIS 3.8.2、OpenCV 4.1.0.25 和 Ubuntu 19.04 中遇到了同样的问题。尝试 import cv2 QGIS 冻结,然后静默退出。我用我的系统级解释器(与 QGIS 使用的解释器相同)测试了导入,它工作正常。

我的解决方案是卸载 OpenCV:

python3 -m pip uninstall opencv-contrib-python

然后安装 headless OpenCV:

python3 -m pip install opencv-contrib-python-headless

此解决方案的代价是失去 cv2.imshow() 和其他 GUI 功能。如果需要,可以简单地输出到文件以检查结果。

information here 对无头安装做了更多解释,并提到它是 "suitable for more restricted environments."