Common Lisp (SBCL) bindings for the OpenCV library.
Common Lisp C Shell
Pull request Compare This branch is 3 commits behind ryepup:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
build
glue
test
.gitignore
Makefile
Makefile.common
Makefile.darwin
Makefile.linux
README.md
TODO.org
cl-opencv-test.asd
cl-opencv.asd
cl-opencv.lisp
core.lisp
frdiff.sh
highgui.lisp
imgproc.lisp
package.lisp
select_platform.sh
test.sh

README.md

README: cl-opencv

Introduction

These are OpenCV bindings for SBCL. They do not promise to be complete, though eventually I hope to have fairly complete coverage of OpenCV functionality. This package depends on the cffi package and libffi. I use Quicklisp to set up my Lisp environment.

Compatibility

This package is known to work in the following configurations.

  • Mac OS 10.6, sbcl 1.0.45 (MacPorts), OpenCV 2.2 (MacPorts)
  • Ubuntu 10.10 (64-bit), sbcl 1.0.40, OpenCV 2.1

If you have gotten cl-opencv to run with some other combination of OS and software versions, please let me know.

Installation

Mac OS X

  1. Install OpenCV from MacPorts: port install opencv
  2. Install libffi from MacPorts: port install libffi
  3. In your lisp environment, make sure that cffi is available. In Quicklisp you would just do (ql:quickload "cffi").
  4. Run make and sudo make install in the top-level directory to build and install the glue code library.

Ubuntu

  1. Install OpenCV from the repos: sudo apt-get install libhighgui-dev.
  2. Install libffi from the repos: sudo apt-get install libffi
  3. In your lisp environment, make sure that cffi is available. In Quicklisp you would just do (ql:quickload "cffi").
  4. Run make and sudo make install in the top-level directory to build and install the glue code library.

Troubleshooting

Ubuntu

If CFFI has problems loading the library, be sure that:

  • your lisp and your OpenCV library are both 32 bit or both 64 bit; and
  • if you installed OpenCV to a non-standard location, you might try adding that path to cffi:*foreign-library-directories*.

Different camera support different resolutions and framerates. The tests assume a camera capable of about 30 fps at 640x480. Adjust the values at the top of test.lisp to match your camera. A program like VLC can help you determine those.