OpenCV – Computer Vision Study Group.

When: Bi-weekly on Thursday evenings from 6:00pm to 7:00pm
– Meeting[0] was on Thursday Jan. 8, 2009
– Meeting[1] is scheduled for Thursday Jan 22.

Where: Check the CCCKC web site for details – CCCKC hacker space location

Why study computer vision / image processing programming?
Our study group started after Jestin and I got one of our labyrinth board games hooked up to an Arduino with servos to adjust the board game’s surface. Jestin’s version is using a Nintendo WiiFit running Ubuntu Linux so you move around on the platform to make the marble move through the maze. Mine is just using an XBox360 controller in Windows.

After getting the board game to work, the next logical thing to do would be to attach an accelerometer to the bottom of the board and place a video camera above to watch the marble move. We want to use the video to locate the marble through motion detection, ultimately getting the computer to play the game for us so we can set back and watch.

Why study OpenCV?
There are other vision processing options which are home-grown, supported by a niche group, or have specific features. OpenCV has an active Yahoo Group that hopefully provides a good support role as we learn to program its features. The DARPA Grand Challenge winner Stanley is reported to use OpenCV as part of its navigation capabilities and robot vision is definately one of our interests. OpenCV comes with example programs to easily begin facial detection. All in all it just looks like a good place to start with a lot of potential for future enhancement.

Getting Started
The book “Learning OpenCV – Computer Vision with the OpenCV Library”  is referred to from the OpenCV Wiki for explanation of the library. This book is written to be used as a text book for OpenCV classes.

Using "Learning OpenCV" as our text book

Using "Learning OpenCV" as our text book

Licensing of OpenCV projects. OpenCV is open and free, the code itself may be used or embedded in other applications commercial or otherwise. No obligation to open source your project. (pg. 2)

Various Notes From Meeting[0]:

Installation Details

Windows Install

Note: Placing OpenCV in directory outside of the “Program Files”  folder. I’m using c:\OpenCV

OpenCV Tutorials

The list of tutorials is a random collection and not placed in any significant order. It would be great if we could rate the tutorials showing how useful you think they are. If you find other useful tutorials that aren’t on the list please leave a comment so I can add them.

Publications & Periodicals
Technical Publications by author Robin Hewitt. I have the Servo Magazine articles written by Robin.

Writing a Program with OpenCV

Programming in Windows

This will also work with some modification under Visual C++ 6.0 and Visual C++ 2005, 2008 Express Edition.

Creating a Project With Visual C++
Make sure you aren’t mixing C character strings with Unicode strings

The OpenCV library uses the standard pointer to char array for text strings. I started a new program using Visual C++ and it was using Unicode character strings by default.
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
A quick way to switch to using standard character strings is by changing the main function statement to:
int main(int argc, char* argv[])
{
return 0;
}
Possibly the better way to handle this is to convert from unicode to character strings before calling the OpenCV functions.

Visual C++ libraries.
Make sure the library, include, and source file paths are included on the property page.

Programming with C#
Take a look at the opencvsharp Google Code site.
OpenCvSharp, a wrapper of OpenCV for .NET Framework code.google.com/p/opencvsharp
I tried downloading the help file from there but got error messages when trying to access the help pages: “Navigation to the webpage was canceled.” and “The address is not valid”. I left an issue report on that site.
To download their source code  use an SVN system to check out the code


Problems Opening Video Files

Example 2-2 in the book is about viewing AVI video. It uses the cvCreateFileCapture function.
I found a couple of video files on the computer. A file captured from a Logitech web camera in .wmv format and some files from my cell phone stored in .mp4 format.
Wikipedia definition of AVI definition for the AVI acronym is Audio Video Interleave.

Conversion to OpenCV supported video format with memcoder
Check out this link for supported video formats: http://opencv.willowgarage.com/wiki/VideoCodecs

Linux Install
Working through the Linux install from http://bit.ly/Oovy get to “Compilation” section instruction “make” but no make file. …grr.

I had better luck getting the Linux libraries installed using the instructions from “Learing OpenCV” starting on pg. 9

Twitter Feed Messages
bkmontgomery @SomeoneKnows Best way to get OpenCV on Linux is to compile from source. Be sure to build the Python wrapper! (http://is.gd/eEi6)

More OpenCV Study Group Notes

Meeting: Study Group Notes – 1.22.2009

About SomeoneKnows


Advertisements

4 Responses

  1. […] For more information and notes from the kickoff meeting check the blog at SomeoneKnows. […]

  2. […] use motion detection and get a computer playing the game for us? So, we’ve also started an OpenCV Study Group to learn about image processing hoping to find a way to make this happen […]

  3. […] Meeting: Study Group Notes – 1.22.2009 Meeting: Study Group Notes – 1.8.2009 […]

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: