J'ai déjà enregistré devant moi le billet de blog de l'enregistrement d'installation d'autoware1.14.Pour des raisons de commodité, je vais retirer cette partie séparément.
1. Téléchargez le package d'installation
Allez sur le site officiel d'OpenCV https://opencv.org/releases/ , sélectionnez la version 3.4.10, cliquez sur source ou github pour télécharger, ici je choisis github pour télécharger et décompressez-le une fois le téléchargement terminé.
2. téléchargement opencv_contrib
Allez sur https://github.com/opencv/opencv_contrib et sélectionnez la version correspondant à opencv. Ici, la mienne est la version 3.4.10.
Une fois les deux fichiers téléchargés, placez opencv_contrib dans le dossier opencv après la décompression.
3. Installer les dépendances
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
4. Installer
Créez un nouveau dossier de construction sous le dossier opencv-3.4.10
cd opencv-3.4.10
mkdir build
Compiler avec cmake sous le chemin de construction
//注意将DOPENCV_EXTRA_MODULES_PATH路径改成自己的
cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DINSTALL_PYTHON_EXAMPLES=ON -DINSTALL_C_EXAMPLES=OFF -DOPENCV_EXTRA_MODULES_PATH=/home/car/opencv-3.4.10/opencv_contrib-3.4.10/modules -DPYTHON_EXCUTABLE=/usr/bin/python2.7 -DWITH_CUDA=ON -DWITH_CUBLAS=ON -DDCUDA_NVCC_FLAGS="-D_FORCE_INLINES" -DCUDA_ARCH_BIN="6.1" -DCUDA_ARCH_PTX="" -DCUDA_FAST_MATH=ON -DWITH_TBB=ON -DWITH_V4L=ON -DWITH_GTK=ON -DWITH_OPENGL=ON -DCMAKE_C_COMPILER=/usr/bin/gcc-7 -DCUDA_HOST_COMPILER=/usr/bin/g++-7 -DCUDA_PROPAGATE_HOST_FLAGS=oFF -DCMAKE_CXX_FLAGS="-std=c++11" -DBUILD_TIFF=ON -DBUILD_EXAMPLES=ON ..
Remarque : Il doit être modifié pour le chemin de votre propre opencv.
Puis compilez avec make
sudo make -j8
L'erreur suivante se produit :
Question 1 : erreur fatale : nvcuvid.h : aucun fichier ou répertoire de ce type
Solution :
Téléchargez NVIDIA-SDK, adresse de téléchargement : https://developer.nvidia.com/designworks/video_codec_sdk/downloads/v8.2-ga2 . Ou allez sur csdn pour trouver un package prêt à l'emploi (l'adhésion peut être requise)
et décompressez-le après le téléchargement.Le chemin du fichier est Video_Codec_SDK_8.2.16->Samples->NvCodec->NvDecoder, et copiez nvcuvid.h et cuviddec.h dans / Dans usr/local/cuda/include/, entrez la commande dans le terminal
sudo cp nvcuvid.h /usr/local/cuda/include
sudo cp cuviddec.h /usr/local/cuda/include
Entrez la commande dans le terminal pour entrer dans le répertoire du fichier du rappel d'erreur
cd /home/car/opencv-3.4.10/modules/cudacodec/src/
gedit precomp.hpp
mettre dans le dossier
#if CUDA_VERSION >= 9000
#include <dynlink_nvcuvid.h>
#else
#include <nvcuvid.h>
#endif
changé en
#if CUDA_VERSION >= 9000 && CUDA_VERSION < 10000
#include <dynlink_nvcuvid.h>
#else
#include <nvcuvid.h>
#endif
Lien de référence : https://www.freesion.com/article/68371362181/
Question 2 : erreur fatale : boostdesc_bgm.i : No such file or directory
Solution :
Téléchargez boostdesc_bgm.i et d'autres fichiers, et déplacez-les vers le répertoire opencv_contrib_3.4.10/modules/xfeatures2d/src Lien
de référence : https://www.cnblogs.com/pine-apple/p/13176741.html
Question 3 : erreur fatale : opencv2/xfeatures2d/cuda.hpp : aucun fichier ou répertoire de ce type
Solution :
Copiez le dossier xfeatures2d et xfeatures2d.hpp sous opencv_contrid-3.4.10/modules/xfeatures2d/include/opencv2 dans le répertoire opencv-3.4.10/modules/stitching/include/opencv2, et juxtaposez le dossier stitching.
Question 4 : erreur fatale : opencv2/xfeatures2d/cuda.hpp : aucun fichier ou répertoire de ce type
Solution :
Ouvrez /home/car/opencv3.4.10/samples/gpu/surf_keypoint_matcher.cpp
et remplacez le contenu de l'erreur entre guillemets rouges par un chemin absolu
Cinquième question : CMakeFiles/example_gpu_surf_keypoint_matcher.dir/surf_keypoint_matcher.cpp.o : dans la fonction "main" :
Solution :
Ouvrez link.txt dans le chemin suivant
/home/car/opencv-3.4.10/build/samples/gpu/CMakeFiles/example_gpu_surf_keypoint_matcher.dir/link.txt
Se joindre à
../../modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/src/surf.cuda.cpp.o
Lien de référence : https://github.com/opencv/opencv/issues/9949
Enfin compiler à nouveau, succès !
dernière installation
sudo make install
5. Ajouter un chemin
pour ouvrir le fichier
sudo gedit /etc/ld.so.conf
Ajoutez le code suivant au fichier
/usr/loacal/lib
Enregistrez et fermez, exécutez la commande suivante
sudo ldconfig
6. Configuration de l'environnement
Ajoutez les deux lignes suivantes au fichier ./bashrc
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
Entrez la commande suivante pour afficher la version opencv installée
pkg-config opencv --modversion
Installation réussie !