https://github.com/rubyonworld/ropencv
ROpenCV is a ffi ruby binding for the Open Source Computer Vision Library OpenCV.
https://github.com/rubyonworld/ropencv
open rails ropencv ruby source
Last synced: 2 months ago
JSON representation
ROpenCV is a ffi ruby binding for the Open Source Computer Vision Library OpenCV.
- Host: GitHub
- URL: https://github.com/rubyonworld/ropencv
- Owner: RubyOnWorld
- License: other
- Created: 2022-09-27T15:32:59.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-09-28T01:11:18.000Z (almost 4 years ago)
- Last Synced: 2025-06-20T06:04:56.337Z (about 1 year ago)
- Topics: open, rails, ropencv, ruby, source
- Language: Ruby
- Homepage:
- Size: 964 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: License.txt
Awesome Lists containing this project
README
# Ruby Bindings for OpenCV
ROpenCV is a ffi ruby binding for the Open Source Computer Vision Library
[OpenCV](http://opencv.org/opencv-java-api.html).
Unlike other OpenCV ruby binding projects like
[ruby-opencv](https://github.com/ruby-opencv/ruby-opencv/) or
[opencv-ffi](https://github.com/amarburg/opencv-ffi) this binding is
automatically generated by parsing the OpenCV C++ headers having the following
advantages:
* automatically up-to-date
* full API coverage
* closely match the original C++ interface
## State:
- All marked methods in the OpenCV C++ header are wrapped
- Memory management needs review
- Currently, no support for multi threading or GPU
## License
ROpenCV is released under a BSD license, it is free for both academic and
commercial use.
## Compatibility Notes
ROpenCV should run on any platform which supports Ruby and OpenCV 2.4.4 or
higher. It has been successfully tested on the following platforms.
* Linux with Ruby 1.9.3 and OpenCV 2.4.4 - 2.4.6
* Mac OSX with Ruby 1.9.3 and OpenCV 2.4.4 - 2.4.6
## Installation
After running the following commands, ROpenCV and all the mandatory
dependencies should be installed:
### Ubuntu / Debian
* [Install OpenCV 2.4.4 or newer.](http://opencv.org/downloads.html)
* sudo apt-get install ruby rubygems cmake g++
* sudo gem install ropencv
### Usage
require 'ropencv'
include OpenCV
m = cv::Mat.new(3,3,cv::CV_64FC1)
# Example
require 'ropencv'
include OpenCV
mat = cv::imread("logo.png")
detector = cv::FeatureDetector::create("SURF")
keypoints = Std::Vector.new(cv::KeyPoint)
detector.detect(mat,keypoints)
puts "found #{keypoints.size} keypoints"
puts "first keypoint is at #{keypoints[0].pt.x}/#{keypoints[0].pt.y}"
cv::draw_keypoints(mat,keypoints,mat)
cv::imshow("key_points",mat)
cv::wait_key(-1)