运行环境:windows10
python版本:3.6
opencv版本:3.4.3.18
由于安装了一个图像库Multi-Template-Matching,导致再次运行一个处理图像的python程序时,opencv报错:
cv2.error: OpenCV(4.5.4-dev) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:1274: error: (-2:Unspecified e
rror) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage'
解决方法:
- 打开cmd,输入
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 上面的命令是将您使用pip下载包的默认下载源设为清华源,下载速度会加快,以后使用pip下载包时就不用担心下载速度慢的问题了
pip install opencv-contrib-python
# 下载opencv-contrib-python,这个包可以解决上述问题
再运行程序看看还报错不
如果还报错,可能是版本兼容性问题,因为pip默认下载的是最新版本的包,可能和你的老版本的其他包冲突
- 打开cmd,输入pip show opencv-python,找到版本号,比如:
Version:3.4.3.18
- 一般opencv-contrib-python的版本对应opencv-python版本,所以再次安装,打开cmd,输入:
pip install opencv-contrib-python==3.4.3.18
# 版本号以你上一步查到的版本号为准
类似兼容性问题都可以以这个思路解决,举一反三,下面介绍如何解决其他兼容性问题
- 打开网址:https://pypi.org/project/opencv-python/#history,找到指定版本的opencv包,看看是哪年哪月发布的
- 接着将上述url中的opencv-python改为opencv-contrib-python,即https://pypi.org/project/opencv-contrib-python/#history,找到和电脑中已有的opencv-python差不多发布年月发布的opencv-contrib-python
我们发现很巧,opencv-python和opencv-contrib-python的版本号相同,并且发布时间也几乎一致,但是遇到其他问题可能就不会这么巧了,还是需要老老实实查版本发布时间来解决兼容性问题
接着就安装指定版本的包了,使用命令pip install 包名==版本号,这种方法可以最大程度地解决包兼容性问题