---------------------------------------------------------------------------------------------------- Manual de Instalación y configuración de la librería OpenCV 4 en Linux (Ubuntu 16.04 LTS) ---------------------------------------------------------------------------------------------------- Requisitos: cuenta con privilegios de administración Más información en http://opencv.org 1) Actualizar lista de paquetes: Ejecutaremos los siguientes comandos en la consola: sudo apt-get update sudo apt-get upgrade (... nos pedirá la clave de nuestra cuenta con privilegios de admimistración) 2) Instalar paquetes adicionales: Ejecutaremos los siguientes comandos en la consola: #Removing any pre-installed ffmpeg and x264" sudo apt-get remove ffmpeg x264 libx264-dev # INSTALL THE DEPENDENCIES # Build tools: sudo apt-get install -y build-essential cmake cmake-qt-gui pkg-config checkinstall git # GUI (if you want to use GTK instead of Qt, replace 'qt5-default' with 'libgtkglext1-dev' and remove '-DWITH_QT=ON' option in CMake): sudo apt-get install -y --fix-missing qt5-default libvtk6-dev libgtk2.0-dev # Media I/O: sudo apt-get install -y zlib1g-dev libjpeg-dev libwebp-dev libpng-dev pngtools libtiff5-dev libtiff-tools libopenexr-dev libgdal-dev # Video I/O: sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libopencore-amrnb-dev libopencore-amrwb-dev libxine2-dev libxine2-dev libv4l-dev sudo apt-get install -y libavcodec-ffmpeg libxine2-ffmpeg libxine2-bin ffmpeg libv4l-0 v4l-utils yasm sudo apt-get install -y libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev # Parallelism and linear algebra libraries: sudo apt-get install -y libtbb2 libtbb-dev libeigen3-dev # Python: sudo apt-get install -y python-dev python-tk python-numpy python3-dev python3-tk python3-numpy # Java: sudo apt-get install -y ant default-jdk # Documentation: sudo apt-get install -y doxygen 3) Instalar la librería OpenCV: Descargaremos la última versión para Linux (actualmente opencv-4.8.0.zip): wget https://github.com/opencv/opencv/archive/refs/tags/4.8.0.zip -O opencv-4.8.0.zip wget https://github.com/opencv/opencv_contrib/archive/refs/tags/4.8.0.zip -O opencv_contrib-4.8.0.zip Descomprimiremos el fichero unzip opencv-4.8.0.zip unzip opencv_contrib-4.8.0.zip cd opencv-4.8.0 4) Compilar la librería OpenCV: Ejecutaremos los siguientes comandos en la consola: mkdir build cd build ------------------------ Si tenemos instaladas las versiones 2 y 3 de python es preciso editar un fichero de cmake previamente y cambiar el orden de bœsqueda: nano ../cmake/OpenCVDetectPython.cmake if(PYTHON_DEFAULT_EXECUTABLE) set(PYTHON_DEFAULT_AVAILABLE "TRUE") elseif(PYTHON3INTERP_FOUND) # Use Python 3 as fallback Python interpreter (if there is no Python 2) set(PYTHON_DEFAULT_AVAILABLE "TRUE") set(PYTHON_DEFAULT_EXECUTABLE "${PYTHON3_EXECUTABLE}") elseif(PYTHON2INTERP_FOUND) # Use Python 2 as default Python interpreter set(PYTHON_DEFAULT_AVAILABLE "TRUE") set(PYTHON_DEFAULT_EXECUTABLE "${PYTHON2_EXECUTABLE}") endif() ------------------ cmake -D BUILD_SHARED_LIBS=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D WITH_CUDA=OFF -D WITH_QT=ON -D WITH_VTK=ON -D WITH_OPENGL=ON -D WITH_OPENCL=OFF -D BUILD_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.8.0/modules -D OPENCV_ENABLE_NONFREE=ON ../ make (......Puede tardar bastante tiempo en compilar la librería OpenCV) La opción -D BUILD_SHARED_LIBS=OFF deberá quitarse si queremos compilarla como una libraría dinámica compartida. sudo make install (... nos pedirá la clave de nuestra cuenta para instalar los ficheros de la librería) 5) Configurar variables de entorno: Ejecutaremos los siguientes comandos en la consola: sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf' sudo ldconfig sudo sh -c 'echo " export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig" >> /etc/bash.bashrc' 6) Compilación con CMAKE: (ej1.cpp) - Crear una carpeta y colocar en ella el código fuente que deseamos compilar (ej1.cpp) - Crear un fichero en esa carpeta llamado CMakeLists.txt con el siguiente contenido: CMAKE_MINIMUM_REQUIRED(VERSION 2.8) FIND_PACKAGE( OpenCV 4.5 REQUIRED ) LINK_LIBRARIES( ${OpenCV_LIBS} ) ADD_EXECUTABLE ( ej1 ej1.cpp ) - Ejecutar en la consola: cd 'Directorio del programa' cmake . make ./ej1 7) Ejemplos: - En la siguiente carpeta tenemos los ejemplos de la OpenCV compilados cd ~/opencv-4.8.0/build/bin ---------------------------------------------------------------------------------------------------- Visión por Computador (1782) Grado Ingeniería Electrónica y Automática Industrial Dpto. Ingeniería de Sistemas y Automática Universidad Miguel Hernández