Información del sistema operativo
jwllinux @ jwlLinux ~ $ uname -a Linux jwlLinux 4.4.0-21-generic # 37-Ubuntu SMP Lunes 18 de abril 18:34:49 UTC 2016 i686 i686 i686 GNU / Linux |
jwllinux @ jwlLinux ~ $ lsb_release -a Versión LSB: core-9.20160110ubuntu0.2-ia32: core-9.20160110ubuntu0.2-noarch: cxx-3.0-ia32: cxx-3.0-noarch: cxx-3.1-ia32: cxx-3.1-noarch: cxx-3.2-ia32 : cxx-3.2-noarch: cxx-4.0-ia32: cxx-4.0-noarch: cxx-4.1-ia32: cxx-4.1-noarch: security-9.20160110ubuntu0.2-ia32: security-9.20160110ubuntu0.2-noarch ID de distribuidor: LinuxMint Descripción: Linux Mint 18 Sarah Lanzamiento: 18 Nombre en clave: sarah |
Descargar opencv3. 4.10 código fuente
Enlace de descarga: https://opencv.org/releases/
opencv-3.4.10.zip
Instalación de paquete dependiente
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install pkg-config libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev |
|
sudo apt-get install libtbb2 libtbb-dev |
TBB : El hilo de bloques de construcción Bloques de construcción de roscado |
sudo apt install qtbase5-dev |
|
Versión de la herramienta principal
jwllinux @ jwlLinux ~ / Descargas $ cmake -version cmake versión 3.5.1 |
jwllinux @ jwlLinux ~ / Descargas $ make -v GNU Make 4.1 |
jwllinux @ jwlLinux ~ / Descargas $ gcc --version gcc (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.12) 5.4.0 20160609 |
jwllinux @ jwlLinux ~ / Descargas $ g ++ --version g ++ (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.12) 5.4.0 20160609 Copyright (C) 2015 Free Software Foundation, Inc. |
jwllinux @ jwlLinux ~ / Descargas $ git --version git versión 2.7.4 |
Descomprimir la organización, compilar, instalar
Descomprima el archivo, cree una nueva carpeta para almacenar los resultados compilados y luego instálelo (elija instalar en / usr / local)
$ unzip opencv-3.4.10.zip
$ cd opencv-3.4.10
$ mkdir release
$ cd release
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=OFF -D WITH_OPENGL=OFF ..
Descripción:
Hay principalmente algunos elementos de configuración de CMake. El último '..' significa ir al directorio superior para encontrar el archivo CMakeLists.txt . El autor miró el archivo CMakeLists.txt proporcionado por el proyecto OpenCV. Es relativamente complicado, por lo que No presentaré demasiado.
Además, conociendo la documentación para evaluar CMake, la curva de aprendizaje es realmente alta. El enlace es el siguiente:
cmake -D |
-D <var>: <tipo> = <valor>, -D <var> = <valor> Cree una entrada de caché de cmake. |
.. |
Indica que CMakeLists.txt está en el directorio superior |
Después de la ejecución, se generará el archivo de compilación (compilación) de todo el proyecto OpenCV, y el resultado es el siguiente:
$ make -j $(nproc)
// make -j procesador de múltiples núcleos para compilar (la marca predeterminada usa solo un núcleo, que es muy lento), $ (nproc) devuelve el número de núcleos de su propia máquina
$ make install //把编译结果安装到 /usr/local的 lib/ 和 include/下面
Posibles problemas
Use CMake para construir el código fuente usando Qt5 . Salió con este error:
CMake Error at CMakeLists.txt:20 (find_package):By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Core", but CMake did not find one.Could not find a package configuration file provided by "Qt5Core" with any of the following names: Qt5CoreConfig.cmake qt5core-config.cmake Add the installation prefix of "Qt5Core" to CMAKE_PREFIX_PATH or set "Qt5Core_DIR" to a directory containing one of the above files.If "Qt5Core" provides a separate development package or SDK, be sure it has been installed. |
解决方案:
需要安装包qtbase5-dev。
$ sudo apt install qtbase5-dev |
方案二:
Cmake构建选项中,将-D WITH_QT=OFF 填为OFF
至于此构建选项对编译处理的OpenCV的影响,笔者后续用到后再作详细分析。