anaconda opencv窗口函数调用问题
安装anacoda opencv package后,在调用cv2.imshow('dst', dst)
的时候会显示如下错误:
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) in cvShowImage
主要是anaconda默认的opencv 编译时并没有将gtk包含进去,导致调用窗口api的时候,会发生错误,因此,需要手动编译安装opencv,以支持窗口api。
编译安装opencv前依赖项安装
sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
opencv编译安装
1.从官网下载opencv源码包opencv
2.解压下载下来的源码包
3.进入源码包目录,并执行如下命令
cd opencv-master
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/home/xx/opencv
-D PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 ../opencv-master
上面的命令中CMAKE_INSTALL_PREFIX若不指定,则默认安装到/usr/local
4.如果执行上面的cmake
时候出现如下错误信息:
CMake Error at CMakeLists.txt:11 (message):
FATAL: In-source builds are not allowed.
You should create separate directory for build files.
-- Configuring incomplete, errors occurred!
则应该是在代码根目录下直接执行过cmake
,导致根目录下生成了CMakeCache.txt
,需要删除CMakeCache.txt
再次执行编译即可。
5. 编译opencv
make -j4
6.编译成功后,安装opencv
make install
opencv环境配置
make install 执行完毕后,opencv编译过程就结束了,接下来就需要配置一些opencv的编译环境。
1.将opecv库添加到路径,从而可以让系统找到:
sudo gedit /etc/ld.so.conf.d/opencv.conf
执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加
/home/xx/opencv/lib
2.执行如下命令使得刚才的配置路径生效
sudo ldconfig
3.配置bash
sudo gedit /etc/bash.bashrc
在最末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/xx/opencv/lib/pkgconfig
export PKG_CONFIG_PATH
source /etc/bash.bashrc
sudo updatedb
参考文献
- https://www.cnblogs.com/leoking01/p/8301724.html
- https://blog.csdn.net/a1102029952/article/details/78618576?locationNum=7&fps=1
- http://www.mobibrw.com/2017/7393
- https://stackoverflow.com/questions/15291500/i-have-2-versions-of-python-installed-but-cmake-is-using-older-version-how-do
- https://opencv.org/opencv-3-4-1.html