Hi all..
I have MCBSTM32c and LPC2478 based development boards. I need to perform an image processing algorithm on an image of resolution 640 x 480 size 30Kb. Is this image acquisition possible through USB camera (we have iball webcam), Please note that we don't have processing time constraints and we don't want to store the image and display the image. There is no fixed rate of image acquisition either. so our problem narrows down to taking one image from SPI, I2C or USB and Processing it.
Please suggest any camera used previously with these boards interfaced by SPI or I2C. Also for USB camera will we need to flash a device driver on to our microcontroller.
Will we be able to process 16 bit or 24 bit images acquired by SPI or I2C camera.
I am sorry if i seemed unclear about my problem earlier. However this is my problem. If this image on its own is 150 Kb and the code + its buffers take up around 20-25 Kb would it advisable to either : (a) transfer captured image to a USB or MMC/SD data card and then access this memory to process it. (b) look for a micro-controller which has sufficient RAM It would help if you could also suggest a camera (even if of a lower resolution) that is compatible with mcbstm32c.
The Main problem to which we are looking a solution for: We have 2 development boards of which MCBSTM32C is one and the other is embedded artists LPC2478 OEM QVGA BaseBoard.. Can we interface any camera to these boards so that one image can be acquired and processed. the results obtained from this processing will then be used for actuation or decision of when the next image is to be taken.
If anybody has worked on a similar problem and found the right solution can you please send us a link to their webpage.
You still haven't said what "processing" you need to do on this image.
Image processing does tend to be a memory- and processing-intensive task - so not generally something for small(-ish) microcontrollers.
Wouldn't you be better off with something like a Raspberry-Pi...?
You can connect cameras.
And you can transfer the image to secondary memory - like a memory card. But since you claim your image processing requires direct access to all of image, the image processing will be very slow if you then need to constantly read in different blocks of the image from the memory card.
Space for code isn't an issue - the code shouldn't be stored in RAM.
But it would probably be better to get a very cheap Raspberry Pie card running Linux with 512 MB RAM and a serial camera interface (and also USB host, I2C, ...) if you really want to do something interesting.
Or you need to get a development board where the ARM chip have internal or external RAM of enough quantity. But probably at least 256 kB RAM if your image is 150 kB.
Note that it's "Pi" - not "Pie"
Raspberry pi would also give you the capability to use the opencv library for image processing and make your problem very easy to implement
Thank you for your replies. We have purchased a BeagleBone for our problem statement.