Summer Scholarship Programme Project Proposal |
||
The aim of this project is to utilise cheap imaging hardware to produce a simple machine vision system using Java.
Nowadays, a cheap framegrabber card costs about 100 pounds (home) or 300 pounds (industrial). Cheap auto-exposure cameras can be bought for about 30 pounds (home), 100 pounds (industrial). Webcams can even be used to cheaply capture images in standard formats. This opens up many possiblities in the world of commodity machine vision.
Java has now found its feet as a language for producing graphical applications. The new Java Advanced Imaging (JAI) and Java Image I/O API's should allow the creation of image processing applications using a simple modular approach. However, as yet, most major machine vision companies do not support Java (only C++).
The initial part of this project will be to become familiar with Machine Vision and Image Processing techniques, including hardware setup and software processing, and to capture some sample images (e.g. static images of the EPCC coffee machine).
The second part of the project will be to design and develop a Minimal Optical Coffee Height Analysis (MOCHA) system to detect a simple feature in the images: the line representing the level of coffee in the pot. This can done using a handful of existing algorithms, the challenge here will be to design the software in such a way as to make it easy to reuse components.
If time and resources permit, there are a number of interesting extensions that could be added:
This project will hopefully demonstrate that Java, combined with cheap image capture systems, can be successfully used to produce working machine vision systems.
Week 1 | Courses |
Week 2 | Capture images, try applications |
Week 3 | Design of processing software |
Week 4-6 | Implement processing software |
Week 7-8 | Try out extensions to project |
Week 9 | Continue extensions, prepare talk and report |
Week 10 | Finish report and poster |
A basic knowledge of Java is required, preferably with an interest or experience in image processing.
Essential: Java
Preferred: Java Advanced Imaging, Digital Analysis / Machine Vision,
basic knowledge of C or C++ for hardware drivers
EPCC Courses:
Useful: Practical Software Development, Scientific Visualisation
Interesting: Introduction to High Performance Computing
Webpage maintained by www@epcc.ed.ac.uk |