Image Processing

12 Oct 2011

Hi,

I've just started working with the mbed board and I was wondering if it's possible to use the mbed to capture raw data from a video camera stream(640x480 256gray level) and then send that data to a computer via blutooth or wireless to then have some image processing done to it, then sent back to the controller.

I've seen that the mbed has 64K of RAM of which only 32K is "easily" accesible for storage. I believe the other 32K is kept for peripherals.

I've also seen that to store that size of image would require around 300Kb of storage, obviously a lot more than the mbed has. There is the option of connecting an SD card for storage but then thats going to increase the lag time between what the camera sees and the vehicle responding.

Is there any way of getting around the lack of RAM issues incountered when working images? Or, can I transfer the image to the computer in segments so the mbed is never having to store the image as a whole, therefore, not needing so much storage?

I can keep talking myself into different possibilities so if someone could give me some advice through experience that would be greatly appreciated!

Thanks Gordon

12 Oct 2011

Hi Gordon,

If you plan to use UART then I will not recommend you to use RAW data it is much better to use JPEG Camera and send compressed image because of it much smaller size comparing to RAW data size. If you want to use real time image capturing with 25fps then forget the microcontrollers you should go to DSP or FPGA solution. The second part is if you want to use Bluetooth then it is obvious that you can not go with real time 25 fps image capturing, so you should reduce the frame rate and try to fit it in the possible Bluetooth data rate. To be honest I already have project with what you want to design. I have build on STM32 MCU the application where I am use 2 UARTs one for JPEG Camera and other for Bluetooth, ofcause I also have many other peripherals. And create on PC the C# application where I am receiving the data from sensors and camera. It is very similar to one of my project which I am done on mbed, but this time I change the Ethernet to wireless Bluetooth communication.

So if you plan to use MCU then my suggestion is to use JPEG camera and send data to remote device with packages and not at once when the image is all receive, because as you mention the SRAM maybe not fit all the commpressed image to the available memory.

Kind Regards, Stas