Ubuntu编译安装opencv3.4

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  

参考文献

  1. https://www.cnblogs.com/leoking01/p/8301724.html
  2. https://blog.csdn.net/a1102029952/article/details/78618576?locationNum=7&fps=1
  3. http://www.mobibrw.com/2017/7393
  4. https://stackoverflow.com/questions/15291500/i-have-2-versions-of-python-installed-but-cmake-is-using-older-version-how-do
  5. https://opencv.org/opencv-3-4-1.html

猜你喜欢

转载自blog.csdn.net/miaoyanmm/article/details/80220194
今日推荐