1
0
Fork 0
mirror of https://github.com/ruby-opencv/ruby-opencv synced 2023-03-27 23:22:12 -04:00

update documents

This commit is contained in:
ser1zw 2013-01-27 12:31:21 +09:00
parent 656fbfd55f
commit 0e316cdf68
3 changed files with 216 additions and 149 deletions

118
DEVELOPERS_NOTE.md Normal file
View file

@ -0,0 +1,118 @@
# DEVELOPER'S NOTE
## Requirement for develop ruby-opencv
* OpenCV
* Git
* Microsoft Visual C++ (for mswin32)
* <http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express>
* MinGW and MSYS (for mingw32)
* gcc, g++ and MSYS are needed.
* <http://www.mingw.org>
* Some gems (see Gemfile)
* [bundler](https://github.com/carlhuda/bundler/)
* [hoe](https://github.com/seattlerb/hoe)
* [hoe-gemspec](https://github.com/flavorjones/hoe-gemspec)
* [rake-compiler](https://github.com/luislavena/rake-compiler)
* [gem-compile](https://github.com/frsyuki/gem-compile)
## Create ruby-opencv gem
Run the following commands.
When you use mingw32, use **MSYS console**, or when you use mswin32,
use [**Visual Studio Command Prompt**](http://msdn.microsoft.com/en-us/library/ms229859.aspx)
instead of cmd.exe.
```
$ git clone git://github.com/ruby-opencv/ruby-opencv.git
$ cd ruby-opencv
$ git checkout master
$ bundle install
$ rake gem
```
**ruby-opencv-x.y.z.gem** will be created in pkg/ directory.
To create pre-build binaries, run the following commands in Windows.
```
$ cd pkg
$ gem compile ruby-opencv-*.gem
```
**ruby-opencv-x.y.z-x86-mingw32.gem** will be created when you use mingw32, or
**ruby-opencv-x.y.z-x86-mswin32.gem** when you use mswin32.
## Install Ruby/OpenCV manually
### Linux/Mac
```
$ git clone git://github.com/ruby-opencv/ruby-opencv.git
$ cd ruby-opencv
$ git checkout master
$ ruby extconf.rb --with-opencv-dir=/path/to/opencvdir
$ make
$ make install
```
Note: **/path/to/opencvdir** is the directory where you installed OpenCV.
### Windows (mswin32)
Run the following commands on [**Visual Studio Command Prompt**](http://msdn.microsoft.com/en-us/library/ms229859.aspx).
```
$ git clone git://github.com/ruby-opencv/ruby-opencv.git
$ cd ruby-opencv
$ git checkout master
$ ruby extconf.rb --with-opencv-dir=C:\path\to\opencvdir\install # for your own built OpenCV library
$ nmake
$ nmake install
```
To use pre-built OpenCV libraries, set the following option to extconf.rb.
```
$ ruby extconf.rb --with-opencv-include=C:\path\to\opencvdir\build\include --with-opencv-lib=C:\path\to\opencvdir\build\x86\vc10\lib
```
### Windows (mingw32)
Run the following commands on **MSYS console**.
```
$ git clone git://github.com/ruby-opencv/ruby-opencv.git
$ cd ruby-opencv
$ git checkout master
$ ruby extconf.rb --with-opencv-dir=/C/path/to/opencvdir/install # for your own built OpenCV library
$ make
$ make install
```
To use pre-built OpenCV libraries, set the following option to extconf.rb.
```
$ ruby extconf.rb --with-opencv-include=/c/path/to/opencvdir/build/include --with-opencv-lib=/c/path/to/opencvdir/build/x86/mingw/lib
```
## Run tests
To run all tests, run **test/runner.rb**
```
$ cd ruby-opencv/test
$ ruby runner.rb
```
To run tests of the specified function, run a specific test with --name option.
The following sample runs tests for CvMat#initialize
```
$ cd ruby-opencv/test
$ ruby test_cvmat.rb --name=test_initialize
```

98
README.md Normal file
View file

@ -0,0 +1,98 @@
# ruby-opencv
An OpenCV wrapper for Ruby.
* Web site: <https://github.com/ruby-opencv/ruby-opencv>
* Ruby 1.8.7, 1.9.3 and OpenCV 2.4.3 are supported.
## 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.
### Windows
You can use pre-build binary for Windows (mswin32, mingw32).
1. Install [OpenCV](http://sourceforge.net/projects/opencvlibrary/files/opencv-win/)
2. Set path to OpenCV libraries. When you installed OpenCV to **C:\opencv**, add **C:\opencv\build\x86\vc10\bin (for mswin32)** or **C:\opencv\build\x86\mingw\bin (for mingw32)** to the systems path.
3. Install ruby-opencv
```
$ gem install ruby-opencv
```
## 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

View file

@ -1,149 +0,0 @@
= OpenCV
The initial Open Computer Vision library was originally developed by Intel
Corporation. Recent development has been headed by Willow Garage, Inc.
* OpenCV project home http://opencv.willowgarage.com/wiki/
* Download http://sourceforge.net/projects/opencvlibrary/
* Ruby/OpenCV original author's web page http://blueruby.mydns.jp/opencv
== DESCRIPTION:
OpenCV wrapper for Ruby
== FEATURES/PROBLEMS:
* Some OpenCV functions are wrapped.
* Ruby 1.8.7, 1.9.3 and OpenCV 2.4.3 are supported.
== DEPENDENCIES:
* OpenCV (required)
* Ruby/OpenCV relies on the OpenCV library http://opencv.willowgarage.com/wiki/InstallGuide
* Microsoft Visual C++ (for mswin32)
* http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express
* MinGW and MSYS (for mingw32)
* gcc, g++ and MSYS are needed.
* http://www.mingw.org
== INSTALLATION:
=== Install Ruby/OpenCV manually
==== Unix/Linux/Mac
$ git clone git://github.com/ruby-opencv/ruby-opencv.git
$ cd ruby-opencv
$ git checkout master # for OpenCV 2.4 or later. To use OpenCV 2.3, type "git checkout OpenCV_2.3" instead
$ ruby extconf.rb --with-opencv-dir=/path/to/opencvdir
$ make
$ make install
==== Windows (mswin32)
Use *nmake* instead of *make*.
$ git clone git://github.com/ruby-opencv/ruby-opencv.git
$ cd ruby-opencv
$ git checkout master # for OpenCV 2.4 or later. To use OpenCV 2.3, type "git checkout OpenCV_2.3" instead
$ ruby extconf.rb --with-opencv-dir=C:\path\to\opencvdir\install # for your own built OpenCV library
$ nmake
$ nmake install
To use pre-built OpenCV libraries, set the following option to extconf.rb.
$ ruby extconf.rb --with-opencv-include=C:\path\to\opencvdir\build\include --with-opencv-lib=C:\path\to\opencvdir\build\x86\vc10\lib
==== Windows (mingw32)
Type the following commands on the *MSYS* *console*.
$ git clone git://github.com/ruby-opencv/ruby-opencv.git
$ cd ruby-opencv
$ git checkout master # for OpenCV 2.4 or later. To use OpenCV 2.3, type "git checkout OpenCV_2.3" instead
$ ruby extconf.rb --with-opencv-dir=/C/path/to/opencvdir/install # for your own built OpenCV library
$ make
$ make install
To use pre-built OpenCV libraries, set the following option to extconf.rb.
$ ruby extconf.rb --with-opencv-include=/c/path/to/opencvdir/build/include --with-opencv-lib=/c/path/to/opencvdir/build/x86/mingw/lib
==== NOTE:
*/path/to/opencvdir* is the path you installs OpenCV library (default: /usr/local).
For example, if you install OpenCV library to */opt/local/* like:
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/opt/local/ ./OpenCV-2.4.2
$ make
$ make install
Install Ruby/OpenCV with the following command:
$ ruby extconf.rb --with-opencv-dir=/opt/local
$ make
$ make install
=== Create Ruby/OpenCV Gem
You can also install this library creating a gem like:
$ git clone git://github.com/ruby-opencv/ruby-opencv.git
$ cd ruby-opencv
$ git checkout master # for OpenCV 2.4 or later. To use OpenCV 2.3, type "git checkout OpenCV_2.3" instead
$ bundle install
$ rake gem
$ gem install pkg/opencv-*.gem -- --with-opencv-dir=/path/to/opencvdir
To add ruby-opencv in your Gemfile:
$ echo -e "\n"'gem "opencv", :git => "https://github.com/ruby-opencv/ruby-opencv"' >> Gemfile
$ bundle config build.opencv --with-opencv-dir=/path/to/opencvdir
$ bundle install # or bundle update
== SYNOPSIS:
=== Show Image using GUI Component
#!/usr/bin/env ruby
require "opencv"
image = OpenCV::IplImage.load("sample.jpg")
window = OpenCV::GUI::Window.new("preview")
window.show(image)
OpenCV::GUI::wait_key
=== Face Detection
Here is a sample face detection program that doesn't rely on the GUI components.
In order for this to work you must copy the OpenCV haarcascades data into a
subfolder called data.
#!/usr/bin/env ruby
require "opencv"
if ARGV.length < 2
puts "Usage: your_app_name source dest"
exit
end
data = "./data/haarcascades/haarcascade_frontalface_alt.xml"
detector = OpenCV::CvHaarClassifierCascade::load(data)
image = OpenCV::IplImage.load(ARGV[0])
detector.detect_objects(image).each do |region|
color = OpenCV::CvColor::Blue
image.rectangle! region.top_left, region.bottom_right, :color => color
end
image.save_image(ARGV[1])
For more samples, see examples/*.rb
== LICENSE:
The BSD Liscense
see LICENSE.txt