Использование OpenCV в Ruby

OpenCV - это библиотека компьютерного зрения и обработки изображений. Она написана на C/C++, но её можно использовать в любом Ruby приложении.

Автор . Дата: 03.11.2014

OpenCV - это библиотека компьютерного зрения и обработки изображений. Она написана на C/C++, но её можно использовать в любом Ruby приложении. Для начала установим саму библиотеку на ваш сервер. Скачиваем её отсюда и выполняем все инструкции по установке.

После чего выполним:

gem install ruby-opencv -- --with-opencv-dir=/path/to/opencvdir

в --with-opencv-dir указывается путь, до папки sources в OpenCV. Например:

gem install ruby-opencv -- --with-opencv-dir=E:\opencv\sources

Рассмотрим пример для обнаружения лиц на картинке:

require 'opencv'
include OpenCV

if ARGV.length < 2
  puts "Usage: ruby #{__FILE__} source dest"
  exit
end

data = './data/haarcascades/haarcascade_frontalface_alt.xml'
detector = CvHaarClassifierCascade::load(data)
image = CvMat.load(ARGV[0])
detector.detect_objects(image).each do |region|
  color = CvColor::Blue
  image.rectangle! region.top_left, region.bottom_right, :color => color
end

image.save_image(ARGV[1])
window = GUI::Window.new('Face detection')
window.show(image)
GUI::wait_key

Тут все достаточно просто: загружается картинка, загружаются детекторы, после чего происходит обнаружение всех лиц на изображении и создании нового окна и отображении в нем.


comments powered by HyperComments