Sous CentOS, suivez les étapes du tutoriel pour installer OpenCV, mais au final le fichier vidéo ne peut pas être lu car ffmpeg est manquant. J'ai donc installé ffmqeg via la gestion des logiciels dans CentOS, mais cela n'a toujours eu aucun effet. Ensuite, j'ai compilé ffmpeg, mais cela n'a toujours eu aucun effet. En fait, une étape clé est manquée, qui est d'associer ffmpeg à OpenCV. Les détails sont les suivants :
1. Obtenez ffmpeg :
Téléchargez ffmpeg via cvs, entrée en ligne de commande : svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
2. Configurez ffmpeg :
Entrez dans le répertoire ffmpeg et exécutez ./configure --enable-shared --prefix=/usr (je suppose que tout le monde connaît la signification de activé-partagé, mais pourquoi avez-vous besoin de prefix=/usr ? Cela doit être obtenu auprès d'opencv CMakeLists.txt et highgui En parlant de cvcap_ffmpeg.cpp, les problèmes impliqués ici ne devraient pas être causés par des problèmes de chemin, mais ce problème m'a fait aller sur cMakeLists.txt toute la matinée pour vérifier si ffmpeg est installé. /usr pour vérifier. Le fichier d'en-tête correspondant existe-t-il ? Cependant, l'installation par défaut de ffmpeg est installée sous /usr/local. Donc, si vous modifiez le chemin d'installation, opencv ne pourra pas détecter si vous avez installé. dans cmake.ffmpeg);
3. make; su -c "make install";
4. Le prochain travail à effectuer est de savoir si opencv peut compiler avec succès les fichiers d'en-tête associés de ffmpeg :4.1) Exécutez d'abord la commande suivante (root) sous /usr/include :
mkdir ffmpeg;
cp libav* libsw* ffmpeg; //La raison pour laquelle cela est fait est que lors de la configuration d'opencv, il vérifie si ffmpeg est installé ici
Vérifié
4.2) cmake .; //Notez qu'il y a un espace entre cmake et ., si
Dans le résultat de la configuration, ffmpeg vaut 1, pas le 0 précédent, ce qui signifie que nous avons réussi.
4.3) faire l'installation ;
5. cp opencv.pc sous /usr/local/lib/pkgconfig vers /usr/lib/pkgconfig Cette étape peut également être effectuée. C'est juste un fichier de configuration. les fichiers d'en-tête et les bibliothèques vous-même lors de la compilation ? En fait, vous saurez de quoi il s'agit lorsque vous ouvrirez opencv.pc.6. Sous root, vim /etc/ld.so.conf, ajoutez une ligne, /usr/local/lib (car les fichiers de bibliothèque d'opencv sont en local, par défaut les fichiers de bibliothèque en local/lib ne sont pas inclus dans le démarrage du système chargé)
7.ldconfig.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!