2012-09-16 :-)
_ [ruby][opencv]ruby-opencv/ruby-opencv · GitHub をインストールしてみた
OpenCV を ruby から使うアレ。OpenCV な ruby ライブラリはいくつかあるみたいなんだけど生き残っているのがここだった。お疲れ様です。
環境
- Ubuntu 12.04
- ruby 1.9.3
OpenCV をインストールする
Laz's Vision: OpenCV 2.4 on Ubuntu 12.04 によると、Ubuntu 12.04 にはパッケージが用意されてるらしいので Ubuntu 12.04 以下を使用している場合はアップデートする。アップデートしました。
パッケージをインストールする。
% sudo aptitude install libopencv-dev % sudo aptitude install libtiff4-dev libjpeg-dev libjasper-dev
ただ、これでインストールされるのは OpenCV 2.3 系だった。github にある ruby-opencv がどうやら OpenCV 2.4 を要求するらしい( opencv_photo ライブラリが無い、と怒れれた。opencv_photo は OpenCV 2.4 から入ったらしい DERiVE - 【ニュース】OpenCV2.4がリリース )。なので OpenCV 2.4 をソースからインストールする。
手順は Laz's Vision: OpenCV 2.4 on Ubuntu 12.04 のまま。
公式 OpenCV にある opencv-unix のソースコードをダウンロードしてあーだこーだする。
% tar xjf OpenCV-2.4.2.tar.bz2 % cd OpenCV-2.4.2/ % mkdir build % cd build
% cmake -D BUILD_EXAMPLES=ON -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D WITH_1394=OFF -D ENABLE_OPENMP=ON ../ % make % sudo make install % sudo ldconfig
ldconfig しとかないと以下のように怒られる。
$ ruby face_detect.rb Invalid gemspec in [/var/lib/gems/1.9.1/specifications/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00.000000000Z" /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': libopencv_nonfree.so.2.4: cannot open shared object file: No such file or directory - /usr/local/lib/site_ruby/1.9.1/i686-linux/opencv.so (LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from /usr/local/lib/site_ruby/1.9.1/opencv.rb:2:in `<top (required)>' from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from face_detect.rb:4:in `<main>'
ruby-opencv をインストールする
ruby-opencv/ruby-opencv · GitHub の手順どおり。
% git clone git://github.com/ruby-opencv/ruby-opencv.git % cd ruby-opencv % git checkout master % ruby extconf.rb --with-opencv-dir=/usr/local % make % sudo make install
ruby-opencv のサンプルを実行してみる
% cd ruby-opencv/examples % ruby find_obj.rb
% ruby face_detect.rb lenna.jpg lenna2.jpg
[ツッコミを入れる]