web-dev-qa-db-fra.com

Problème de reliure Python3 lors de l'importation d'opencv

Question:

J'ai un problème de segmentation après avoir essayé d'importer une version fraîchement compilée de la dernière disponible OpenCV de github sur Ubuntu 18.04.

Voici le message d'erreur que j'ai reçu en essayant d'importer cv2 in Python :

$ python3
Python 3.6.8 (default, Aug 20 2019, 17:12:48) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
python3: Relink `/lib/x86_64-linux-gnu/libsystemd.so.0' with `/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol `clock_gettime'
python3: Relink `/lib/x86_64-linux-gnu/libudev.so.1' with `/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol `clock_gettime'
Segmentation fault (core dumped)

Mon Ubuntu; 5.0.0-29-generic x86_64 GNU/Linux

D'où j'ai cloné OpenCV; https://github.com/opencv/opencv

Sujets connexes;
erreur lors de l'importation du module cv2 dans l'instance Ubuntu Amazon
Configurez AWS Redshift sur Ubuntu 18.04 et utilisez-le avec pyodbc
https://unix.stackexchange.com/questions/444697/cannot-run-python-file-asks-to-relink-libraries
https://github.com/tensorflow/tensorflow/issues/19375

Aucune des solutions présentées n'a fonctionné car je n'ai pas de puces graphiques NVidia sur mon ordinateur portable;

$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 5500 (rev 09)

Remarque :
J'ai besoin de compiler OpenCV à partir des sources car je veux utiliser SIFT et SURF détecteurs et descripteurs et ils ne sont plus disponibles lorsque OpenCV est installé avec apt :

>>> import cv2
>>> cv2.__version__
'4.2.0'

>>> cv2.xfeatures2d.SIFT_create()    

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
cv2.error: OpenCV(4.2.0)     
/io/opencv_contrib/modules/xfeatures2d/src/sift.cpp:1210:    
error: (-213:The function/feature is not implemented)     
This algorithm is patented and is excluded in this configuration;    
Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in    
function 'create'
6
s.k

Dans mon cas, l'erreur a été résolue en installant les en-têtes OpenCV Sudo apt install libopencv-dev. En général, je fais cette installation de apt avant d'essayer de pip d'installer les liaisons OpenCV Python

1
Addison Klinke