Ubuntu 18.04の github から最新の OpenCV の新しくコンパイルされたバージョンをインポートしようとすると、セグメンテーションエラーが発生します。
Python 3 にcv2
をインポートしようとしたときに表示されるエラーメッセージは次のとおりです。
$ 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)
私のUbuntu; 5.0.0-29-generic x86_64 GNU/Linux
OpenCVのクローンを作成した場所。 https://github.com/opencv/opencv
関連スレッド;
ubuntu Amazonインスタンスにcv2モジュールをインポート中にエラーを取得する
Ubuntu 18.04でAWS Redshiftを設定し、pyodbc で使用します
https://unix.stackexchange.com/questions/444697/cannot-run-python-file-asks-to-relink-libraries
https://github.com/tensorflow/tensorflow/issues/19375
私のラップトップにはNVidiaグラフィックチップがないため、提示されたソリューションはどれも機能しませんでした。
$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 5500 (rev 09)
お知らせ:
[〜#〜] sift [〜#〜] と [〜を使用するため、ソースからOpenCVをコンパイルする必要があります#〜] surf [〜#〜]detectors および descriptors そしてOpenCVが 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'
私の場合、エラーはOpenCVヘッダーをインストールすることで解決されましたSudo apt install libopencv-dev
。通常、私はOpenCVをインストールする前にapt
をインストールpip
するPython bindings