ruby-opencv/README.md

95 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

2017-05-20 15:41:29 +00:00
![Build Status with Travis CI](https://travis-ci.org/ruby-opencv/ruby-opencv.svg?branch=master)
2013-01-27 03:31:21 +00:00
# ruby-opencv
An OpenCV wrapper for Ruby.
* Web site: <https://github.com/ruby-opencv/ruby-opencv>
2016-07-17 00:36:12 +00:00
* Ruby 2.x and OpenCV 2.4.13 are supported.
2017-02-08 18:00:03 +00:00
* [Documentation](http://www.rubydoc.info/gems/ruby-opencv/frames)
2013-01-27 03:31:21 +00:00
## Requirement
* OpenCV <http://opencv.org/>
* [Download](http://sourceforge.net/projects/opencvlibrary/)
* [Install guide](http://docs.opencv.org/doc/tutorials/introduction/table_of_content_introduction/table_of_content_introduction.html#table-of-content-introduction)
## Install
### Linux/Mac
1. Install [OpenCV](http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/)
2. Install ruby-opencv
```
$ gem install ruby-opencv -- --with-opencv-dir=/path/to/opencvdir
```
Note: **/path/to/opencvdir** is the directory where you installed OpenCV.
2016-07-17 00:36:12 +00:00
### Windows (RubyInstaller)
2013-01-27 03:31:21 +00:00
2016-07-17 00:36:12 +00:00
See [install-ruby-opencv-with-rubyinstaller-on-windows.md](install-ruby-opencv-with-rubyinstaller-on-windows.md).
2013-01-27 03:31:21 +00:00
## Sample code
### Load and Display an Image
A sample to load and display an image. An equivalent code of [this tutorial](http://docs.opencv.org/doc/tutorials/introduction/display_image/display_image.html#display-image).
```ruby
require 'opencv'
include OpenCV
if ARGV.size == 0
puts "Usage: ruby #{__FILE__} ImageToLoadAndDisplay"
exit
end
image = nil
begin
image = CvMat.load(ARGV[0], CV_LOAD_IMAGE_COLOR) # Read the file.
rescue
puts 'Could not open or find the image.'
exit
end
window = GUI::Window.new('Display window') # Create a window for display.
window.show(image) # Show our image inside it.
GUI::wait_key # Wait for a keystroke in the window.
```
### Face Detection
A sample to detect faces from an image.
```ruby
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
```
For more samples, see examples/*.rb
## LICENSE:
The BSD Liscense
see LICENSE.txt