Friday, October 18, 2013

We are presenting our project today at our weekly RCOS meeting.
The slides for the presentation can be found here.
Aesa, the newest member of the team, has created some logos for our project.  If you have any ideas on which one fits best or any ideas for other logos we would be happy to hear them in the comments!


Thursday, September 19, 2013

Big progress this week.  We now have a function that will take a picture that is cropped and rotated to just the resistor, and the x-positions of the bands and returns the colors of the bands with reasonable reliability.
It works by taking the average HSV for a strip that is around the area of an x-position given.  It then uses the saturation and value to determine if it is black, gray, or white.  If it is none of those, it uses the hue value to decide if it is red, orange, yellow, green, blue, or violet.  A hue value corresponding to red, orange, or yellow coupled with a low saturation tends to be brown but I have yet to determine exactly where this threshold is.

I will commit this code after I find a way to do so without interfering with the pre-existing android code.

More to come...

Wednesday, September 4, 2013

Our Fall 3013 Proposal

Resistance Color Scanner
Authors: Joshua Makinen and Steven Hammar


Project Summary:
The Resistor Color Scanner will be a mobile application for Android devices. The function will be to process an image of a resistor to deduce the colors of the bands on a resistor to find the resistance. The application will also allow for the user to manually enter colors for individual bands in case of incorrect reads of any bands, and will ideally work with both a still picture and live camera capture.  This project will require the learning of skills in the areas of image processing and Android development.  


Progress:
As of now we have created a skeleton of the android app with a working resistance calculator, picture taking features, and implementation of sample OpenCV code.  We have also compiled a large dataset of resistor images, with varying color bands, lighting, background surfaces, and zoom/focus levels.  We are currently working to learn OpenCV for Android.


Schedule:
  • First three weeks:  continue learning OpenCV,  recognize colors from an idealized situation, and crop functionality in Android.
  • fourth - seventh weeks:  Find bands on a cropped image of a resistor and UI overhaul.
  • eighth - twelfth weeks:  find and crop to a resistor in an image.
  • rest of semester:  extend functionality to work with continuous scanning from the camera, rather than from pictures and work on any further improvements for detection of shape/band color


Technical Details:
We will be using Java and the Android sdk, as well as the Android imaging library OpenCV.  OpenCV is a very robust library and will help us to accomplish a lot of what we want to do with our application.

Tuesday, July 23, 2013

This summer Steve has made a shell of the app with basic OpenCV functionality and a "dumb" resistance calculator(choose colors from a drop-down menu).  So far, we have struggled to make OpenCV perform basic tasks in Android.  Recently though, we have had a breakthrough in being able to run example OpenCV code inside of our app.
Joshua has been focusing more on learning OpenCV in C++ that is easily ported to Android.  He has been experimenting with the idea of Cascading Classifiers and should be able to find a resistor in the window in fairly short time.  It should be pointed out that this project is only one of the projects that each of the developers is working on.  This means that Steve and Josh trade off on who is working on it each week.

Thursday, February 28, 2013

Hello World!


The Resistor Color Scanner will be a mobile application for Android devices. The function will be to process an image of a resistor to deduce the colors of the bands on a resistor to find the resistance. This project will require the learning of skills in the areas of image processing and Android development. The first month will be dedicated to learning our way around the interface of the Eclipse IDE and learning the basics of image manipulation in Java. We will then begin work on reading the colors of an idealized picture of a resistor and the basic user interface. Converting the colors to the resistance will be fairly simple after we have accurate readings for the colors. If we have time after this is done, we will attempt to make the application scan using streaming information from the camera rather than from a still. We have discovered that the camera takes much better pictures of small objects from a distance of around 4-5 inches away. This would mean that the user would have to take a picture from that distance and crop the picture to fit just the resistor. This may make scanning impossible, but we would like to try.