RubyでOpenCVを使おうと思って調べていたら、ruby-opencvは最近更新が滞っていて、最新のOpenCVが使えないとのこと。
イマドキのイケてるライブラリはRed OpenCVだ、という情報を得てインストールを試みたところ、苦労したのでメモを残します。
苦労した理由(かもしれないこと)
苦労したのは私の環境がLinux Mintだったからかもしれません。
UbuntuやDebian、CentOSだったらすんなりインストールできた可能性があります。
(Red OpenCVはUbuntu、Debian、CentOS用のインストールパッケージが準備されています)
とりあえずOpenCVのインストール
ネット上ではOpenCVをソースコードからインストールする手順がたくさん見つかります。
私は公式パッケージを入れました。
(コマンド一発)
sudo apt-get install libopencv-dev
公式サイトに沿ってRed OpenCVをインストールする
まずOpenCV GLibをインストールする
Red OpenCVのインストール手順の最初に、まずOpenCV GLibをインストールしろとあります。
Install OpenCV GLib before install Red OpenCV. Use packages.red-data-tools.org for installing OopenCV GLib.
APTリポジトリの追加
公式にある手順ではうまく行きません。
sudo apt install -y -V ca-certificates lsb-release wget
wget https://packages.red-data-tools.org/$(lsb_release --id --short \
| tr 'A-Z' 'a-z')/red-data-tools-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt install -y -V ./red-data-tools-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt update
失敗①:パッケージ名の自動生成
Ubuntu、Debian、CentOS用のパッケージしか提供されていないので、自動生成されたLinux Mint用パッケージ名が見つからないため、wget
に失敗します。
提供されているパッケージの中から良さそうなものを直接指定する必要があります。
メニュー > システム管理 > システムレポート
のシステムの情報
タブを確認します。
System: Host: default-Diginnos Kernel: 5.4.0-77-generic x86_64 bits: 64 compiler: > gcc v: 7.5.0
Desktop: MATE 1.22.2 wm: marco dm: LightDM Distro: Linux Mint 19.3 Tricia
base: Ubuntu 18.04 bionic
私のLinux Mintは「Ubuntu 18.04 bionic」がベースになっていたので、これに合うパッケージ名red-data-tools-apt-source-latest-bionic.deb
を直接指定しました。
失敗②:パッケージのダウングレードインストールオプション
上で取得したパッケージのインストールに失敗します。
ダウングレードを許容するオプション--allow-downgrades
が足りなかったためです。
ただこれは、私が試行錯誤したせいかもしれません。
成功した手順
sudo apt install -y -V ca-certificates lsb-release wget
#wget https://packages.red-data-tools.org/$(lsb_release --id --short | tr 'A-Z' 'a-z')/red-data-tools-apt-source-latest-$(lsb_release --codename --short).deb
#sudo apt install -y -V ./red-data-tools-apt-source-latest-$(lsb_release --codename --short).deb
#sudo apt install -y -V ./red-data-tools-apt-source-latest-bionic.deb
wget https://packages.red-data-tools.org/ubuntu/red-data-tools-apt-source-latest-bionic.deb
sudo apt install -y --allow-downgrades -V ./red-data-tools-apt-source-latest-bionic.deb
sudo apt update
sudo apt install libopencv-glib-dev
OpenCV GLibのインストール
これはすんなり行きました。
sudo apt install libopencv-glib-dev
Red OpenCVをインストールする
また公式の手順で失敗します。
gem install red-opencv
失敗:パッケージの不足
'mkmf.log'の末尾を見るとgobject-introspection-1.0
がないと書いています。
--------------------
have_package: checking for gobject-introspection-1.0... -------------------- no
--------------------
実はこれ、Red OpenCVのDescriptionで使っていると明言されてました。
事前に入ってないとだめなんですね。
Red OpenCV is a Ruby bindings of OpenCV. Red OpenCV is based on GObject Introspection.
(後略)
成功した手順
sudo apt install libgirepository1.0-dev
sudo gem install red-opencv
インストールで力尽きてまだ動作確認取れてませんが、今日はここまで。