Raspberry PiでOpenCVインストールのトラブルシューティング
目次
はじめに
Raspberry PiでOpenCVをインストールする際、ハマるポイントがいくつか存在します。この記事では、ビルドが途中で止まる問題や、ビルドが終了しない問題についての解決策を提供します。
エラー対応
98%とかで動かなくなってしまったときはマジかお前ってなりますよね。 CPUを多くしてビルドを行うとメモリが足りないとかそんなエラーも出ます。
寝る前にビルドを始めるという前提であれば、以下のようなオプションでmakeするのは解決策の一つです。
-j 以降をすべて削除します。
- $(MAKE) -j $(shell nproc --all)
+ $(MAKE)
ビルドが100%に到達しているのに終了しないとき
ビルドが100%になっているのに、何時間待ってもインストール作業が始まらないため 強制終了した時のログを記載します。
[100%] Building CXX object apps/interactive-calibration/CMakeFiles/opencv_interactive-calibration.dir/main.cpp.o
[100%] Building CXX object apps/interactive-calibration/CMakeFiles/opencv_interactive-calibration.dir/parametersController.cpp.o
[100%] Building CXX object apps/interactive-calibration/CMakeFiles/opencv_interactive-calibration.dir/rotationConverters.cpp.o
[100%] Linking CXX executable ../../bin/opencv_interactive-calibration
make[3]: Leaving directory '/tmp/opencv/opencv-4.5.3/build'
[100%] Built target opencv_interactive-calibration
^C^C
make[3]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:63: modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] Interrupt
make[2]: *** [CMakeFiles/Makefile2:6051: modules/python3/CMakeFiles/opencv_python3.dir/all] Interrupt
make[1]: *** [Makefile:163: all] Interrupt
make: *** [Makefile:102: build_raspi] Interrupt
キャンセルしたときに処理中の内容が表示されます。 今回は、python3が悪さしているっぽいです。
Makefileの中身でpython3で指定しているパスが違うとかそんなところかと思いますが…
build対象からpythonを外しておいて、代わりにpipからインストールする方法を取ります。
Makefileにあるビルド設定はこんな感じに書き直します。
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=ON -D OPENCV_EXTRA_MODULES_PATH=/tmp/opencv/opencv_contrib-4.5.3/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=OFF -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D ENABLE_NEON=ON -D ENABLE_VFPV3=ON -D WITH_JASPER=OFF -D OPENCV_GENERATE_PKGCONFIG=ON -D WITH_GTK=ON -D WITH_GSTREAMER=ON ..
pipでダウンロードしましょう。
python -m pip install opencv-python==4.5.3.56
まとめ
Raspberry PiでOpenCVをインストールする際に遭遇する可能性のあるトラブルに対処するために、ビルド設定の変更やPythonバージョンの修正などの方法を試してください。この記事で紹介した方法が、将来的に同様の問題に遭遇した際の助けとなることを願っています。