Computer Vision: OpenCV and the Propeller
Hanno
Posts: 1,130
Here's a video demo showing ViewPort integrated with OpenCV:
2 Minute YouTube Video
The OpenCV integration lets you easily experiment with
state-of-the-art computer vision with your ViewPort/Propeller
combination. Find x,y of faces, colored blobs, circles,
textures all using spin code!
OpenCV has been the leading Computer Vision library for 10 years,
it was used by Stanford to win the DARPA race. Until now, it was
difficult to do vision processing with OpenCV and control
real-world devices. With the ViewPort integration, people will
have the best of all worlds- easy integration with all sorts of
real world sensors and actuators with the Propeller and state of
the art vision algorithms from OpenCV, all presented with a
simple interface inside of ViewPort.
To get started, click on the "OpenCV" view inside of ViewPort.
If you have a standard web cam attached to your system you
should see a live video in the video pane. You can also process
video from the Propeller Frame Grabber, or an AVI file. The
AVI file must be of a specific format see here:
opencv.willowgarage.com/wiki/VideoCodecs
Click on the "edge", "face", "color", etc tabs to set up
"filters" to detect specific items. The video output will
show the filtered video and the x,y position will be be sent
to appropriate Propeller variables. In your Propeller program
you can use these values to control servos, etc. In each
"filter" tab you can specify the filter's parameters.
All parameters controlled in the interface are also available
programmatically in your spin program. This lets your program
search for multiple items.
Hanno
2 Minute YouTube Video
The OpenCV integration lets you easily experiment with
state-of-the-art computer vision with your ViewPort/Propeller
combination. Find x,y of faces, colored blobs, circles,
textures all using spin code!
OpenCV has been the leading Computer Vision library for 10 years,
it was used by Stanford to win the DARPA race. Until now, it was
difficult to do vision processing with OpenCV and control
real-world devices. With the ViewPort integration, people will
have the best of all worlds- easy integration with all sorts of
real world sensors and actuators with the Propeller and state of
the art vision algorithms from OpenCV, all presented with a
simple interface inside of ViewPort.
To get started, click on the "OpenCV" view inside of ViewPort.
If you have a standard web cam attached to your system you
should see a live video in the video pane. You can also process
video from the Propeller Frame Grabber, or an AVI file. The
AVI file must be of a specific format see here:
opencv.willowgarage.com/wiki/VideoCodecs
Click on the "edge", "face", "color", etc tabs to set up
"filters" to detect specific items. The video output will
show the filtered video and the x,y position will be be sent
to appropriate Propeller variables. In your Propeller program
you can use these values to control servos, etc. In each
"filter" tab you can specify the filter's parameters.
All parameters controlled in the interface are also available
programmatically in your spin program. This lets your program
search for multiple items.
Hanno
Comments
Hanno
has the OpenCV a feature for character recognition ?
best regards
Stefan
OpenCV has pretty much everything and is now funded by Willow Garage (funded by Google founders), so that's where the action is.
Yes, it can do character recognition.
The problem with OpenCV is that in it's current form it's not easy to use. I'm trying to change that with the ViewPort integration by providing an object oriented framework to communicate to/from the Propeller. I'll publish the developer's kit soon- this will let you write plugins in C++ which call the OpenCV library. At the moment, my plugin just finds faces, colored objects, edges, and circles. Hoping with time to cover pretty much anything...
Everyone:
Here's the thread for the beta download so you can play with it:
ViewPort v4.1 Beta
Hanno
Webcam's are cheap these days! Check your local store for a free after rebate deal or get this one shipped to you for < $7!
$6.95 DealExtreme WebCam
I believe OpenCV uses DirectShow to get data from the camera- this should mean it'll work with pretty any webcam. So far it's worked for everyone including built-in webcam on a lenovo, built-in webcam on a mac laptop, a cheap radioshack webcam, and my logitech.
Hanno
we are doing a project on character recognition . After doing a lot of research we found out that opencv library is used for gesture recognition.
we wanted to know whether opencv library is good enough for character recognition.
This book presents research trends on computer vision, especially on application of robotics, and on advanced approaches for computer vision (such as omnidirectional vision).
This is the link where you can find it: http://www.intechopen.com/books/show/title/computer_vision
SPAM ALERT SPAM ALERT...
Well, not to distract any. I am interested in using the Propeller, OpenCV, and Flowstone. Would a Propeller Backpack allow me to bring in an NTSC video signal on into the PC with Viewport? This could be the mechanism for me to use Flowstone. I am a current owner of Viewport and 12 blocks btw, great software Hanno. I mentioned Flowstone in another post, but since the discussion hear is about OpenCV, I figured it was relevant to what I'm doing also.
As far as I know, the only way to bring video into the Propeller is to use ViewPort's PropCapture object and an ADC like the ADC08100. This combination digitizes grayscale NTSC into hub- where you can either do simple computer vision with ViewPort's PropCV object, or stream it for viewing and/or OpenCV analysis in ViewPort. Of course you can also use the OpenCV filters on video captured by your PC's webcam and use that output to control something on the Propeller.
Hanno