OpenCV (Open Source Computer Vision Library) è una libreria di visione artificiale open source con collegamenti per C++, Python e Java e supporta tutti i principali sistemi operativi. Può sfruttare l'elaborazione multi-core e presenta l'accelerazione GPU per il funzionamento in tempo reale.
OpenCV viene utilizzato per un'ampia gamma di applicazioni, tra cui l'analisi di immagini mediche, l'unione di immagini di street view, video di sorveglianza, rilevamento e riconoscimento di volti, tracciamento di oggetti in movimento, estrazione di modelli 3D e molto altro.
In questo tutorial, mostreremo come installare OpenCV su CentOS 7.
Installa OpenCV dal repository CentOS #
Il pacchetto OpenCV è disponibile dai repository standard di CentOS 7, ma è piuttosto obsoleto. Se desideri installare l'ultima versione stabile di OpenCV dal sorgente, scorri verso il basso fino alla sezione Installazione di OpenCV dalla sezione Source di questo tutorial.
Al momento in cui scrivo, la versione nei repository è 2.4.5.
Installa i pacchetti OpenCV digitando:
sudo yum install opencv opencv-devel opencv-python
Una volta completata l'installazione puoi verificarla eseguendo:
pkg-config --modversion opencv
2.4.5
Oppure importando il cv2
di Python modulo e stampa la versione OpenCV:
python -c "import cv2; print(cv2.__version__)"
2.4.5
Installazione di OpenCV dal sorgente #
La creazione della libreria OpenCV dal sorgente ti consente di avere l'ultima versione disponibile. Sarà ottimizzato per il tuo particolare sistema e avrai il controllo completo sulle opzioni di build.
Per installare l'ultima versione di OpenCV dal sorgente, segui questi passaggi:
-
Installa le dipendenze obbligatorie e facoltative:
sudo yum install epel-release git gcc gcc-c++ cmake3 qt5-qtbase-devel \
python python-devel python-pip cmake python-devel python34-numpy \
gtk2-devel libpng-devel jasper-devel openexr-devel libwebp-devel \
libjpeg-turbo-devel libtiff-devel libdc1394-devel tbb-devel numpy \
eigen3-devel gstreamer-plugins-base-devel freeglut-devel mesa-libGL \
mesa-libGL-devel boost boost-thread boost-devel libv4l-devel
-
Clona i repository di contributi di OpenCV e OpenCV:
mkdir ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
Al momento della scrittura, la versione predefinita nei repository github è la versione 4.2.0. Se vuoi installare una versione precedente di OpenCV, cd su entrambi
opencv
eopencv_contrib
directory ed eseguigit checkout <opencv-version>
-
Una volta completato il download, crea una directory di build temporanea e passa ad essa:
cd ~/opencv_build/opencv && mkdir build && cd build
Configura la build OpenCV con il seguente comando CMake:
cmake3 -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
Una volta finalizzato il sistema di compilazione di CMake, vedrai qualcosa di simile di seguito:
-- Configuring done -- Generating done -- Build files have been written to: /home/linuxize/opencv_build/opencv/build
-
Avvia il processo di compilazione eseguendo il comando seguente:
make -j8
Modifica il
-j
flag in base al tuo processore. Se non conosci il numero di core nel tuo processore, puoi trovarlo digitandonproc
.La compilazione può richiedere diversi minuti o più, a seconda della configurazione del sistema. Al termine, vedrai qualcosa del genere:
[100%] Built target example_tutorial_Threshold_inRange [100%] Linking CXX shared module ../../lib/cv2.so [100%] Built target opencv_python2
-
Installa OpenCV con:
sudo make install
-
Crea collegamento simbolico
opencv4.pc
file nel/usr/share/pkgconfig
directory ed eseguildconfig
per ricostruire la cache delle librerie.sudo ln -s /usr/local/lib64/pkgconfig/opencv4.pc /usr/share/pkgconfig/
sudo ldconfig
Verifica la versione OpenCV digitando:
pkg-config --modversion opencv4
4.2.0
-
Per abilitare Python
cv2
esecuzione del modulo:sudo ln -s /usr/local/lib/python2.7/site-packages/cv2 /usr/lib/python2.7/site-packages/
Importa il modulo e verifica l'installazione stampando la versione OpenCV:
python -c "import cv2; print(cv2.__version__)"
4.2.0-dev