Introduzione

OpenCV (Open Source Computer Vision Library) è una libreria di visione artificiale open source e ha collegamenti per C ++, Python e Java. È utilizzato per una vasta gamma di applicazioni, tra cui analisi di immagini mediche, cucitura 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.

OpenCV può sfruttare l'elaborazione multi-core e presenta l'accelerazione GPU per il funzionamento in tempo reale.

Questo tutorial mostra come installare OpenCV su Debian 10, Buster. Per la maggior parte delle persone, il modo più semplice per installare OpenCV su Debian è installarlo usando lo strumento di gestione dei pacchetti apt. Se vuoi installare l'ultima versione stabile di OpenCV dal sorgente segui questo tutorial.

Se desideri installare OpenCV su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Installare OpenCV dal repository Debian

Il modulo OpenCV Python è disponibile dal repository Debian standard. Al momento della stesura, i repository Debian standard includono OpenCV versione 3.2, che è obsoleto.

Per installare il modulo OpenCV Python, inserire:

sudo apt update
sudo apt install python3-opencv

Il comando sopra installerà tutti i pacchetti necessari per eseguire OpenCV.

Per verificare l'installazione, importare il modulo cv2 e stampare la versione OpenCV:

python3 -c "import cv2; print(cv2.__version__)"

Dovresti visualizzare un messaggio di output simile al seguente:

3.2.0

Se si desidera installare OpenCV con i collegamenti Python 2, installare il pacchetto python-opencv.

Installare OpenCV dal sorgente

Costruire la libreria OpenCV dall'origine è il modo consigliato di installare OpenCV. Sarà ottimizzato per il tuo particolare sistema e avrai il controllo completo sulle opzioni di generazione.

Per installare l'ultima versione di OpenCV dall'origine, procedere come segue:

Installa le dipendenze obbligatorie e facoltative:

sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
    libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
    libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
    gfortran openexr libatlas-base-dev python3-dev python3-numpy \
    libtbb2 libtbb-dev libdc1394-22-dev

Clonare i repository contrib di OpenCV e OpenCV con i seguenti comandi:

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 si desidera installare una versione precedente di OpenCV, entrare nelle directory opencv e opencv_contrib ed eseguire git checkout <opencv-version>

Una volta completato il download, crea una directory di build temporanea e naviga verso di essa:

cd ~/opencv_build/opencv
mkdir build && cd build

Imposta la build di OpenCV con CMake:

cmake -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 ..

Quando il sistema di generazione CMake è finalizzato, vedrai qualcosa di simile al seguente:

...
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/opencv_build/opencv/build

Inizia il processo di compilazione:

make -j2

Modifica il flag -j in base al tuo processore. Se non conosci il numero di core del tuo processore, puoi trovarlo digitando nproc.

La compilazione potrebbe richiedere molto tempo, a seconda della configurazione del sistema. Una volta fatto, vedrai qualcosa di simile di seguito:

...
[100%] Linking CXX executable ../../bin/example_tutorial_imgcodecs_imwrite
[100%] Built target example_tutorial_goodFeaturesToTrack_Demo
[100%] Built target example_tutorial_imgcodecs_imwrite

Installa OpenCV digitando:

sudo make install
...
-- Installing: /usr/local/share/opencv4/samples/python/video_threaded.py
-- Installing: /usr/local/share/opencv4/samples/python/video_v4l2.py
-- Installing: /usr/local/share/opencv4/samples/python/watershed.py

Per verificare se OpenCV è stato installato correttamente, inserisci il seguente comando e dovresti vedere la versione di OpenCV:

pkg-config --modversion opencv4

Dovresti visualizzare un messaggio di output simile al seguente:

4.2.0
python3 -c "import cv2; print(cv2.__version__)"

Dovresti visualizzare un messaggio di output simile al seguente:

4.2.0-dev

Conclusione

Ti abbiamo mostrato due modi diversi per installare OpenCV su Debian 10. Il metodo che scegli dipende dai tuoi requisiti e preferenze. Anche se l'installazione della versione in pacchetto dal repository ufficiale è più semplice, la creazione di OpenCV dal sorgente ti dà maggiore flessibilità e dovrebbe essere la tua prima opzione durante l'installazione di OpenCV.