Ubuntu18.04+OpenCV4.0的编译安装

r囧r小猫 2022-03-21 14:09 278阅读 0赞

目录结构

  1. opencv-4.0.1
  2. |_____opencv_contrib-4.0.1/modules
  3. |_____build

编译命令

  1. mkdir build
  2. cd build
  3. sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
  4. sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
  5. sudo apt-get install libeigen3-dev libgoogle-glog-dev libgflags-dev
  6. #(sudo apt-get install python-dev python-numpy)
  7. #it is better to configure your own python library for this testing,
  8. #as in below cmake command
  9. cmake -DCMAKE_INSTALL_PREFIX=/opt/opencv400 -DCMAKE_BUILD_TYPE=Release \
  10. -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.0.1/modules \
  11. -DPYTHON_EXECUTABLE=python3 \
  12. -DPYTHON_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
  13. -DPYTHON_LIBRARY=$(python3 -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))") ..
  14. make -j8
  15. make install

说明

我这里是加了extra modules的,注意目录结构要和你的cmake命令中的EXTRA_MODULES_PATH目录对应。

库文件最好是先装上,不然会有很多报错。OpenCV-SFM模块还信赖eigen/glog/gflags,如果需要该模块的话这两个包也要装上。

在执行cmake …命令前,build下面应该是空的,不然遗留下来的东西有可能冲突,也会报错。
-DCMAKE_INSTALL_PREFIX=你想要安装opencv的路径

Python的路径这么设置是因为碰到了报错:

  1. Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)

具体可以参考:https://stackoverflow.com/questions/24174394/cmake-is-not-able-to-find-python-libraries
另外我试了下,-DPYTHON_INCLUDE_DIR=/home/user01/anaconda3/include/python3.7m/ ,编译也没有报错。网上也有人说如果找不到python.h就应该使用这种形式,嗯,还是自己编译的时候试试吧!

一般编译尽量使用release版本,如果你要debug,建议还是windows下的VC环境要方便得多(VC调试器实在太强大了)。

发表评论

表情:
评论列表 (有 0 条评论,278人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ubuntu1804源码编译jdk8

        这里纯粹自己弄着玩,因为以前没有成功过,这里记录一下,就是让遇到问题的人可以规避问题,快速编译自己的jdk。     相信很多学java的人都看过或者了解过一本书《深