mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Ruby - Ruby/OpenCV インストール!

[ サーバ構築, プログラミング ] [ Linux, Ruby, ScientificLinux ]

こんばんは。

先日、当方のサーバ(Scientific Linux 6.1)にインテル社が開発したオープンソースの画像処理ライブラリ集(C/C++)OpenCV をソースからインストールしました。 導入方法は以下の過去記事参照。

今回は、OpenCV ライブラリを Ruby で操るために、Ruby/OpenCV というパッケージを導入しました。 現在では gem パッケージを作成してインストールする方法も可能のようですが、当方はできませんでした。 (Gem のバージョン違い等が影響しているようなので、バージョンを調整したりしましたが・・・)

なので、普通にソースからインストールしました。

ちなみに、使用している USB カメラは、Logicool QuickCam S7500 です。 (Linux は動作保障外ですが、V4L 対応です)

導入手順

以下に導入手順を公開します。 当方は、元々 CUI ベースの Scientific Linux サーバで USB カメラでのライブカメラ構築を行っているため、ご使用の環境によっては不足しているものがあるかもしれません。 不足しているもがあれば、適宜導入してください。 以下の過去ブログも参照。

インストール手順

以下のような順序でコマンドを入力していきます。

1
2
3
4
5
# 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 ベースなので、画面表示が不可能です。 保存した画像を別途ダウンロードして確認します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -- 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 スクリプトでキャプチャ出来た画像です。 多少、ざらついています。

WEBCAM_RUBY_OPENCV

比較のため、現在稼動中のWebカメラの画像も。

WEBCAM_OLD

元々 Linux 保証外 USB カメラなので、ドライバの関係でどちらの画像も Windows に比べ画質が(非常に)劣っています。

参考サイト



可能ならば、もう少し調整して実運用できればと考えています。

以上。

Comments