Video Processing

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I have recently been looking at the CMUcam to the following:
Look at an object and
(1)get the objects ruff width and length parameters
(2)Look at the object for color patterns (or even just look for a color or 2
on the object)

Does anyone have experience with doing either of those 2 with the
bs2/handyboard/pic/etc?

Or just any experience with video inputs like from the CMUcam (well.. cmucam
doesn't really give you a video input per say, but you know what i mean ;)


any info would be awesome!
thanks-Lee



Re: Video Processing
The extraction of data from images by computers is called Image Processing. You
might want to look that up with Google and see what it brings you. I seem to
remember that there are various operations (convolutions?) which you can do to
an image to enhance the edges. Edge Detection would be able to let you estimate
object dimensions, assuming you knew things like how far the camera is away
from the object, or if there were something next to the object of a standard
size that you could compare with.


Re: Video Processing
Yeah, I am actually going to have a 3inch cubed box, with a camera looking
down on the object that will be inserted.  The objects are going mainly
black (well with a white sticker with color on it on the top of it), what
color should my box be? white? or does it really matter as long as it is not
black?  And I can also control the light level.

What do you'll think as far as going with an all in one solution like the
CMUcam? or should I go with a plain CMOS camera  and do some tricks?

thanks-Lee



Re: Video Processing
Quoted text here. Click to load it

First things first, forget the distance and measuring problems, get the
fundamentals right:-

1/  lighting is one direction, ring, multiple sources and/or angles?
        Are you just controlling brightness of light source?
2/  How good are the lens(es) on your camera of choice, so how far away
    do you have to be to view the 3" cube fully on screen, and what effect
    does this have on resolution and exposure time for the camera.
3/  How much RAM do you have?
        To save the image, intermediate results, computations, results
        control variables and other information.
4/  How fast a response are you looking for?
        1 hour, 10 minutes, 1 minute, 1 second or sub-second?
5/  What is your choice of target system?
        If PIC you will need fancy handling of data as MOST do not have
        the memory map capable of dealing with data set sizes as a FRAME.
        You may well have to do line by line processing losing the original
        data.
6/  How accurate a measurement are you looking for ?
    Either as pixels or actual real world units?
    This then determines how many pixels you need for your edges to be
    accurate, which also depends on lighting and object types and angle of
    camera to object.

Quoted text here. Click to load it

Work out what your data set (image sizes) are going to be and algorithms
with their associated data sets, to determine memory requirements. From
response time and how long the exposure time for EACH type of
camera+lens+lighting to determine minimum capture time and processing time.

Do some experiments first with some form of camera you can put on a larger
system to work out the parameters of the optics/target/image capture, THEN
look at then system requirements. Once you know these you can work out ways
of reducing the processing overhead by lighting positions/types/levels,
background colours, distances, lens types, camera types. These then can make
the processing of the images easier or even simpler.

Even after 20 years in Image Processing in one way and another it is amazing
how often the questions get asked the wrong way round, and very little idea
of the size of data involved.

There are lots of resources on Image processing, a good primer if still
available for showing frame capture, convultions, filtering, hardware and
operations is

        Digital Image Processing - A Practical Primer
          by Gregory A Baxes

        Publisher Prentice-Hall NJ

        ISBN    0-13-214064-0
                0-13-214056-X (Paperback)

--
Paul Carpenter        | snipped-for-privacy@pcserv.demon.co.uk
<http://www.pcserv.demon.co.uk/ Main Site
We've slightly trimmed the long signature. Click to see the full one.
Re: Video Processing

Quoted text here. Click to load it
******I am controlling the light, 100 percent.
Quoted text here. Click to load it
******Whtaever will work best is fine
Quoted text here. Click to load it
*******well,, I guess I can always add more and more eeprom on the i2c chain
(off my BS2 or pic) or I could always just use my computer
Quoted text here. Click to load it
*******10 seconds max
Quoted text here. Click to load it
original
********the PIC/BS2 or computer.. whatever is fine
Quoted text here. Click to load it
Is 1/10 of an inch to demanding?



And I will look at that book.
Does anyone have any webased resources?

thanks-Lee



Re: Video Processing

Quoted text here. Click to load it

You are going to be in a dark room!

Quoted text here. Click to load it

Consider a simple camera having a resolution of 320 x 240 is more than one
i2c eeprom is likely to hold and will take an age to store, read back, do
calculations, store back, do more calculations.....

Quoted text here. Click to load it

Stick with your PC and just get used to programming to grab images, you
are a long way from achieving your goal.

Learn to walk before you attempt to run.
 
Quoted text here. Click to load it

Use a FAST PC.

Quoted text here. Click to load it

I don't think you have the faintest idea of the data sizes and flows let
alone calculations required, for a very specific of known targets to measure
in set positions, lighting and distances.

Quoted text here. Click to load it

To achieve in 10 secs with I2C eeprom and frame grab, I think you will be
in the land of wishful thinking.

There are expensive systems about to do this, that require very good cameras
lighting, lenses and fast PCs, what makes you think a pic/bs2 and some
I2C eeprom is going to achieve your goals.

To give an idea one of my designs currently uses a 16bit processor with 32
bit registersand an external CPLD to grab a single field to external SRAM,
do a variety of calculations with 16 and 32 bit integer table lookups to
reduce floating point time and save a 128KB result in external flash, and
that takes 12 seconds. You will have a similar number of calculations which
won't be easily reduced to 32bit lookup or other tricks to speed up
calculations.

Quoted text here. Click to load it

Do web search on Image Processing, Image Measurement

--
Paul Carpenter        | snipped-for-privacy@pcserv.demon.co.uk
<http://www.pcserv.demon.co.uk/ Main Site
We've slightly trimmed the long signature. Click to see the full one.

Site Timeline