Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
27
Help us understand the problem. What is going on with this article?
@atuyosi

Raspbian Liteでビルド済みのOpenCVパッケージを使うための依存パッケージいろいろ

More than 1 year has passed since last update.

Raspbian Liteでビルド済みのOpenCV 3.xパッケージ(正確に言うとPythonパッケージ)を使おうとしたら地味に辛かったのでメモしておきます。

良い子はおとなしくOpenCV 2.4でも使ってなさいってことなのか。

GUIつきのRaspbianまたは普通にインストールしたUbuntuなどではここまで面倒ではないと思います。

contribにある二値化処理アルゴリズムを試したかっただけなのに。コマンド一発の代償は大きいのかどうか。

Python以外からOpenCVを使わない、という前提です。C++でやりたい人は素直にコンパイルしましょう。

ビルト済みパッケージのインストール

下記のPythonパッケージをインストールするとcontribつきのOpenCVバイナリがついてきます。
おもちゃのついたラムネ菓子、いわゆる食玩みたいなものです。

$ pip install opencv-contrib-python

または

$ pip install opencv-contrib-python-headless

Pythonから使う場合は以下のように。

import cv2

と、いいたいところですがまあ動かないでしょう。おそらく。

Raspbian Liteの場合は必要なパッケージがインストールされておらず、APT経由でないので自動的にはインストールされません。

エラーと対応するパッケージ名のリスト

実際はいろいろとライブラリが見つからないというエラーが表示される。

カッコ内はソースからビルドするときに必要になりそうなパッケージ。

HDF5

ImportError: libhdf5_serial.so.100: cannot open shared object file: No such file or directory

-> libhdf5-100 (libhdf5-serial-dev)

HarfBuzz

ImportError: libharfbuzz.so.0: cannot open shared object file: No such file or directory

-> libharfbuzz0b (libharfbuzz-dev)

WebP

ImportError: libwebp.so.6: cannot open shared object file: No such file or directory

-> libwebp6 (libwebp-dev)

Jasper

ImportError: libjasper.so.1: cannot open shared object file: No such file or directory

-> libjasper1 (libjasper-dev)

???

ImportError: libImath-2_2.so.12: cannot open shared object file: No such file or directory

-> libilmbase12 (libilmbase-dev)

OpenEXR

ImportError: libIlmImf-2_2.so.22: cannot open shared object file: No such file or directory

-> libopenexr22 (libopenexr-dev)

Gstreamer

ImportError: libgstbase-1.0.so.0: cannot open shared object file: No such file or directory

-> ibgstreamer1.0-0 (libgstreamer1.0-dev)

FFmpeg関連

ImportError: libavcodec.so.57: cannot open shared object file: No such file or directory

-> libavcodec-extra57 (libavcodec-dev)

ImportError: libavformat.so.57: cannot open shared object file: No such file or directory

-> libavformat57 (libavformat-dev)

ImportError: libswscale.so.4: cannot open shared object file: No such file or directory

-> libswscale4 (libswscale-dev)

Gtk3

ImportError: libgtk-3.so.0: cannot open shared object file: No such file or directory

-> libgtk-3-0 (libgtk-3-dev)

Qt関連

headlessの場合は不要。

ImportError: libQtGui.so.4: cannot open shared object file: No such file or directory

-> libqtgui4 (libqt4-dev)

ImportError: libQtTest.so.4: cannot open shared object file: No such file or directory

-> libqt4-test

コピー用のリスト

sudo apt install libhdf5-100
sudo apt install libharfbuzz0b
sudo apt install libwebp6
sudo apt install libjasper1
sudo apt install libilmbase12
sudo apt install libopenexr22
sudo apt install libgstreamer1.0-0
sudo apt install libavcodec-extra57
sudo apt install libavformat57
sudo apt install libswscale4
sudo apt install libgtk-3
sudo apt install libgtk-3-0
sudo apt install libqtgui4
sudo apt install libqt4-test

まとめ

需要があるのか著しく疑問ですが、せっかくなので。

不足があったらコメントで指摘してもらえると(どこかの誰かが)助かります。

27
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
27
Help us understand the problem. What is going on with this article?