记一次Opencv安装Error解决之旅

遇到 OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) 的解决办法

按提示修复

根据提示,这种情况应该是缺少依赖,安装 libgtk2.0-devpkg-config 之后重新安装即可(源码安装的卸载后重新编译安装,第三方安装直接卸载后在重装)

在我的系统 Ubuntu18.04 下,命令如下:

1
sudo apt install libgtk2.0-dev pkg-config

提示不生效

但是按照提示修复后仍然不生效,在我用的sdk编译后仍然会报相同的错误。

怎么办呢?,这时候我突然发现报错的路径很奇特

1
opt/conda/conda-bld/opencv-suite_1530789967746/work/modules/highgui/src/windows.cpp

这个路径居然是 conda 的,而我明明是使用源码编译安装的。

这时候我猛然反应过来,之前曾经使用conda install opencv安装过 OpenCV, 并且当时也报的是这个错。因为当时并没有修好这个错误,而是使用的conda install opencv-python解决的。因此这是一个环境变量的问题,系统没有识别我现在安装的包,而是识别了我之前安装错误的包

最终解决办法

1.查找系统中是否有 OpenCV

1
apt list | grep opencv

2.在condapython中查找是否有 OpenCV

1
2
conda list |  grep opencv
pip list | grep opencv

3.将查找到的名为libopencv,py-opencv的包删除重装

卸载命令如下

1
2
conda remove libopencv
conda remove py-opencv

4.重新安装OpenCV

1
sudo apt install libopencv