OpenCV, osxでopencv(とruby)

ちょいと駆け足でインストールからrubyで実行まで。

XQuartzのインストール
http://xquartz.macosforge.org/

numpyが必要っぽかったのでインストール

> pybrew install 3.2.3 (or 2.7.3)
> pybrew switch 3.2.3
> pip install numpy

homebrewでopencvインストール

> brew install opencv

rubyから利用する準備

> mkdir test
> vim Gemfile
gem 'opencv', :git => 'git://github.com/ruby-opencv/ruby-opencv.git'

> bundle install --path vendor/bundle
#coding: utf-8
require 'opencv'

image = OpenCV::IplImage.load(ARGV[0])

detector = OpenCV::CvHaarClassifierCascade::load('/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt2.xml')

detector.detect_objects(image) do |rect|
  image.rectangle!(rect.top_left, rect.bottom_right, color: OpenCV::CvColor::Blue)
end

image.save_image('output.jpg')

顔認識テスト

bundle exec ruby app.rb test.jpg

顔傾けてる写真だとあまり認識してくれないみたい。
あとでProcessingとかiOSとかでも試してみよう。