Software > Software

IEEE Portland MRSC

(1/1)

Travis Wood:
â€˜Râ€™ Junk Works participated in the IEEE Portland Mobile Robotic Software Challenge on August 12th.  The computer vision software we used to win the event is available from our web site at http://www.rjunkworks.com/  :D  If you are interested in robot and computer vision for navigation and that sort of thing :o you are encouraged to download the software and see the methods we used for our robot vision system.
Travis Wood :)
Team captain: â€˜Râ€™ Junk Works

Kohanbash:
Congratulations.
How would i filter a picture based on light intensity so that i can find the centroid of the light source.
Thanks

Admin:
There are many ways to do it. I guess I should write a tutorial on this at some point cause people keep asking . . . that and robot arms . . .

Anyway so cameras actually transmit a matrix of pixels. Each pixel stores information, usually RBG of each pixel. A combination of red, blue, and green colors.

extra reading if interested here RBG and the human eye http://biology-web.nmsu.edu/vince/course.on.color.pdf#search=%22rbg%20color%20theory%20pixel%22

list of RBG colors http://local.wasp.uwa.edu.au/~pbourke/colour/colourspace/

The way I would solve your problem is first find a max brightness level. This means to search every pixel and record just the max pixel. This is the same as searching a matrix and finding the max value.

For example, if you had a theoretical 8 pixel camera and you just wanted to find green brightness:
green camera values from an image: 10 38 230 100 200 245 120 57
Your search would then find 245 as the max value. This is the very brightness spot in the image. The X-Y coordinates of that pixel is where it is. But this is susceptible to noise, so what you want is not the brightest pixel bright but the brightest area. Now what you need is a threshold.

Arbitrary threshold constant = top 10% brightest = .9
So now multiple that number by the brighest pixel -> 245*.9 = 221

Now search through the matrix again and find all pixels above 221, and record the X-Y positions of each of those pixels. The average location of all the pixels is the location of the top 10% brightest green spots in your camera image.

Understand?

But then again it gets more complicated if you have two bright objects in different locations of equal brightness . . . but I wont go into that . . .

note: there is a chance I am dumb and that 255 is dark and 0 is light, but Im too lazy to look it up . . . anyway the concept is the same, just search for the min instead of the max . . .

Kohanbash:
Can you recomend any good robo vision books.
Thanks

Admin:
Hmmmm Ive only read one book . . . but it was about computer vision complimenting tactile sensing . . . and used mostly manufacturing references. I wouldnt really recommend it. Most of what I learned was in programming classes, robotics classes, and self learning mostly . . .

I did a google search for 'computer vision basics' and found a lot of good links
http://www.google.com/search?sourceid=navclient&ie=UTF-8&rls=DGUS,DGUS:2006-11,DGUS:en&q=computer+vision+basics

Also do searches for computer visions topics such as:
finding middle mass
thresholding
hystograms
edge detection

Those are the very basics so should get you started . . .

Navigation

Go to full version