Links:
Email:
|
What is it?
KamVu is a program for using webcams and industrial cameras to perform machine vision tasks. The ambitious goal is to provide an open source program to measure, sort, read, count, and perform other machine vision tasks with a web camera. Currently the program runs on Linux, but we are actively working on porting them to Windows. All the tools to develop machine vision applications are also Open Source.
What is in it?
There are four main elements to the KamVu program.
- The development environment - KamVu uses open source development tools. There is a complete description of how to set up a development environment, connect cameras and digital I/O, download the code from source control and start developing. The development tools include the following:
- The ProtoTrainer GUI - This is the program that most users will see. It will be released under either the GPL Version 2 license or something similar. It provides all the functionality required to capture and analyze images with the KamVu machine vision libraries.
- The Machine Vision Libraries - These are a set of libraries based on OpenCV that perform standard machine vision tasks. They are non-proprietary algorithms that can perform the many real world machine vision tasks. They will be released under either the LGPL Version 2 license or something similar so they can be used in proprietary applications. Current libraries include:
- Filters: Sobel, Roberts, Smooth, etc.
- Blobs
- Image arithmetic
- Mathematical Morphology
- Pixel to World coordinate transforms
- Precision pattern finding (Generalized Hough and Circle Hough)
- Edge tools: Line, circle, intersection finders, etc.
- Digital I/O (Velleman K8055)
- Statistical Process Control (XBar and R charts)
- The tutorials - Our purpose is to assure that anyone who has a need for this program can learn how to use it quickly and easily. To that end we are doing a series of how-to videos, an extensive user guide, a users forum, and other tools to assure that people can use the program well.
What is the first application?
We are systematically developing the libraries to attack specific applications. For each application we develop, we hope to provide an easy to use template from which others can develop their own similar applications. We currently have three applications in mind, but are open to doing anything for which our user base might have a need.
- The first application will be a simple presence/absence application. It will perform the following tasks:
- Receive a signal from a PLC to capture and image
- Determine whether a post is whole and in place.
- Determine whether an o-ring is in its proper position on the post.
- Send a pass or a fail signal back to the PLC.
Do you have plans for future applications?
Absolutely, YES! We really want to do a BUNCH of applications. Right now we only have a few in mind, and do not really have a preference in terms of which one we do next. We will order our work according to what is interesting, what will help us improve the libraries, and what people want or need. We hope to have an area available on the website for other people to describe their applications. Please write to us if you have an idea. |