Ruby - Ruby/OpenCV インストール!
Updated:
先日、当方のサーバ(Scientific Linux 6.1)にインテル社が開発したオープンソースの画像処理ライブラリ集(C/C++)OpenCV をソースからインストールしました。 導入方法は以下の過去記事参照。
今回は、OpenCV ライブラリを Ruby で操るために、Ruby/OpenCV というパッケージを導入しました。 現在では gem パッケージを作成してインストールする方法も可能のようですが、当方はできませんでした。 (Gem のバージョン違い等が影響しているようなので、バージョンを調整したりしましたが・・・)
なので、普通にソースからインストールしました。
ちなみに、使用している USB カメラは、Logicool QuickCam S7500 です。 (Linux は動作保障外ですが、V4L 対応です)
導入手順
以下に導入手順を公開します。 当方は、元々 CUI ベースの Scientific Linux サーバで USB カメラでのライブカメラ構築を行っているため、ご使用の環境によっては不足しているものがあるかもしれません。 不足しているもがあれば、適宜導入してください。 以下の過去ブログも参照。
インストール手順
以下のような順序でコマンドを入力していきます。
# git clone git://github.com/ser1zw/ruby-opencv.git
# cd ruby-opencv
# bundle install
# rake gem
# gem install pkg/opencv-*.gem
これで OK のはずですが、gem のバージョンが古い(1.3.7等)とうまくいかないかもしれません。 その場合は、他のアプリに影響が無いか充分に注意して、gem のバージョンアップをしてください。
サンプルスクリプト
動作確認のための単純な Ruby スクリプトです。 USBカメラでキャプチャして保存するだけです。 よくあるサンプルでは Window を作成して画面表示させていますが、当方のサーバは CUI ベースなので、画面表示が不可能です。 保存した画像を別途ダウンロードして確認します。
# -*- coding: utf-8 -*-
# require 'rubygems' # Ruby 1.8系なら必要
require 'opencv'
include OpenCV
# カメラでのキャプチャ開始
capture = CvCapture.open(0)
# キャプチャ画像の取得
img = capture.query.to_CvMat
# 画面の縮小
size = CvSize.new(320, 240)
# 画像のリサイズ
img = img.resize(size)
# 画像の保存
img.save_image( "test_webcam.jpg" )
テスト画像
上記の Ruby スクリプトでキャプチャ出来た画像です。 多少、ざらついています。
比較のため、現在稼動中のWebカメラの画像も。
元々 Linux 保証外 USB カメラなので、ドライバの関係でどちらの画像も Windows に比べ画質が(非常に)劣っています。
参考サイト
可能ならば、もう少し調整して実運用できればと考えています。
以上。
Comments