LoginSignup
17
19

More than 5 years have passed since last update.

OpenCV4 for Raspberry Pi

Last updated at Posted at 2018-09-20

(追記:2019-04-15) 最新版は、ラズパイ3にOpenCV3/4を簡単に導入 を見てください。


  • (2018-11-22 JST 更新3) libopencv4_4.0.0-20181122.1_armhf.deb をビルドしました。(pkgconfigのみの変更) rpi01向けは..そのうちできました.
  • (2018-11-22 JST 更新1) OpenCV 4のラズパイ向けパッケージです。
  • OpenCV 3はこちら: ラズパイ3にOpenCV3を簡単に導入

TL;DR

以下、こぴぺ。
OPENCV_DEB=libopencv4_4.0.0-20181122.1_armhf.deb
# OPENCV_DEB=libopencv4_4.0.0+rpi01-20181122.1_armhf.deb  # RaspberyPi Zero/1 向け

curl -SL https://github.com/mt08xx/files/raw/master/opencv-rpi/${OPENCV_DEB} -o ${OPENCV_DEB}
sudo apt autoremove -y libopencv{3,4} ; \
sudo apt install -y ./${OPENCV_DEB}   ; \
sudo ldconfig

# Version 確認
python2 -c 'import cv2; print(cv2.__version__)'
python3 -c 'import cv2; print(cv2.__version__)'

概要

  • 2018-11-20 に OpenCV 4.0のリリースがアナウンスされたようです。
  • OpenCV 4のラズパイ向けパッケージを作成しました。
  • RPi2/3向け(NEON=VFPV3=ON)と、Zero/1向け(NEON=VFPV3=OFF)があります。

  • ぐーぐる先生翻訳改


OpenCV 4.0
2018/11/20

3.0のリリース開始から約3年半後1に、4.x系の最初の安定リリースを発表することができて喜んでいます。

  • リリースのハイライト:

    • OpenCVは、いまC++ 11ライブラリになり、C++ 11準拠のコンパイラが必要です。 必要最小限のCMakeバージョンが3.5.1に上げられました。
    • OpenCV 1.xの多くのC APIが削除されました。
    • コアモジュール内の永続性(XML、YAML、またはJSONへのストア/ロードの構造化データ)は、C++で完全に再実装され、CのAPIも失われています。
    • 新しいモジュールG-APIが追加され、非常に効率的なグラフベースの画像処理パイプラインのエンジンとして機能します。
    • dnnモジュールには実験的なVulkanバックエンドが含まれ、ONNX形式のネットワークをサポートします。
    • 一般的なKinect Fusionアルゴリズムは、CPUとGPU(OpenCL)用に実装され、最適化されています。
    • QRコード検出器とデコーダがobjdetectモジュールに追加されました
    • 非常に効率的かつ高品質なDIS高密度オプティカルフローアルゴリズムがopencv_contribからvideoモジュールに移行しました。
    • 詳細は、以前の発表に記載されています : 4.0-alpha, 4.0-beta, 4.0-rc, changelog

ブランチ3.4はメンテナンスモードに切り替わります。バグ修正と軽い機能のみが受け入れられます。 ところで、リリース3.4.4も用意されています!

OpenCV 2018アンケートにまだ参加していない人は、あなたの考えを分かち合うことができます。


その他

  • betaのあと確認するのを忘れていたら、いつの間にか正式版がでていたので、4.0.0-rcのビルドしてない.
  • [メモ] python2と3のcv2 のビルド(リンク?)にgccが1GBくらいメモリを使うので、仮想メモリがたりないとかで止まったら、CTRL-Cして、make -j1でビルドする
  • Python向けのインストールスクリプトが変更されたためか、20181119.1 を作成したものでは、すんなり pythonでつかえなかった。

  • (2018-11-22 JST 更新2) あぁぁ... pkgconfigが生成されてない.. (20181119.1にて)

    Issue:4.0.0 does not produce pkgconfig file #13154

    OPENCV_GENERATE_PKGCONFIG=ON が必要っぽい...
    (3.4.4のパッケージは大丈夫だった..)



以下、ベータまで内容

TL;DR

# Remove previous version 前のバージョンをインストールしていない場合はスキップ
sudo apt autoremove libopencv3 
sudo apt autoremove libopencv4

# Install 
# 4.0.0+beta
wget https://github.com/mt08xx/files/raw/master/opencv-rpi/libopencv4_4.0.0+beta-20181017.1_armhf.deb
sudo apt install -y ./libopencv4_4.0.0+beta-20181017.1_armhf.deb
# 4.0.0+alpha
#   wget https://github.com/mt08xx/files/raw/master/opencv-rpi/libopencv4_4.0.0+alpha-20180920.1_armhf.deb
#   sudo apt install -y ./libopencv4_4.0.0+alpha-20180920.1_armhf.deb
sudo ldconfig

# Version check
python2 -c 'import cv2; print(cv2.__version__)'
python3 -c 'import cv2; print(cv2.__version__)'

その他

  • Lena様の顔検出のテストのみ確認。
  • フォルダが変更になってるので注意
    /usr/local/share/OpenCV/ => /usr/local/share/opencv4/

    • 顔検出に使うカスケードファイルとか.
      • 変更前: cascPath = '/usr/local/share/OpenCV/lbpcascades/lbpcascade_frontalface.xml'
      • 変更後: cascPath = '/usr/local/share/opencv4/lbpcascades/lbpcascade_frontalface.xml'
  • バージョン

    バージョン
    pi@raspberrypi:~ $ python2 -c 'import cv2; print(cv2.__version__)'
    4.0.0-beta
    pi@raspberrypi:~ $ python3 -c 'import cv2; print(cv2.__version__)'
    4.0.0-beta
    
  • [メモ] python2と3のcv2 のビルドにgccが1GBくらいメモリを使うので、仮想メモリがたりないとかで止まったら、CTRL-Cして、make -j1でビルドする

  • (追記:2018-10-18) [メモ] SWAPを100 => 1024 MBに変更してから、ビルドすると、止まらない。

    Swapサイズ変更
    sudo sed -i -e 's/^CONF_SWAPSIZE=100/CONF_SWAPSIZE=1024/' /etc/dphys-swapfile
    sudo systemctl restart dphys-swapfile
    

  1. OpenCV 3.0(3.0.0のタグ)は、2015月6月24日 

17
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
19