Skip to content
Use OpenCV with node.js
C++ CoffeeScript Python Other
Latest commit 50d6d65 Sep 18, 2013 @codeboost Merge pull request #11 from curious-attempt-bunny/merlyn/osx_installa…

Add OSX installation troubleshooting steps to README
Failed to load latest commit information.
bea Added erode filter Nov 2, 2012
scripts Added cv.closeOnEsc() to scripts, removed obsolete files Nov 2, 2012


Expose opencv to the node environment.


- cv::Point, cv::Size, cv::Rect, etc replaced by object notation:
    Point -> {x: 0, y:0}, Size -> {width: 33, height: 33}

- Checks the types of parameters as well as ranges of values on each native call (harder to crash app from script)
- Friendly exception messages on invalid parameters 


See scripts/ for a full demo.

Installation - MacOS X

$ brew install opencv --build32
$ npm install -g opencv-node
$ coffee scripts/tests

(tested with GCC 4.2.1 and node 0.8.0)


If brew complains "SHA1 mismatch" error you may find that updating homebrew fixes the issue: $ brew update

If brew complains "No available formula" you will need to tap the science repository: $ brew tap homebrew/science

Installation - Windows

  1. Download OpenCV from
  2. Extract it to a folder, eg C:\OpenCV
  3. Open a Visual Studio command prompt and type

    set OPENCV_ROOT=C:/OpenCV
    npm install -g opencv-node

(tested with Visual Studio 2010 and node 0.8.8)

API Differences

Some functions have a more js-friendly API/syntax. The void functions which return their output in an argument passed by reference, return the result directly:

cv::split returns an Array and takes only 1 argument
cv::HoughCircles returns an Array
cv::HoughLines returns an Array
cv::cornerSubPix returns an Array

* others?




Please report any bugs or missing functions. This module has never been used in production and is generally meant to be used for experimentation.

Something went wrong with that request. Please try again.