What you need is a board with a SoC (system on chip) which runs Linux. Raspberry Pi might be worth looking into if this is a hobby project.
That might be the broadest and least useful comment I've seen here for a while, linux is irrelevant to the needs of getting frame data from a video sensor like this. It might be nice to have but without a suitable physical interface there is no work to do.
For the past couple days I have been beginning a project to create a camera based around an OnSemi MT9P031 5MP image sensor. I dont want to use a sensor module because most are built for video and I'm looking to do both. I have quickly come to the conclusion that an Arduino is laughably underpowered for this application. I need an ARM based micro or an FPGA to do it effectively.
With the background out of the way, I have a few questions
1) FPGA interface
What is the best device to use in the sensor interface? I need to be able to take images, Dump the Raw Files to an SD Card and then edit later. A built in Display would be very nice, however, It is supposed to be a film camera like device so not necessary.
2) how does one go about image processing in an FPGA? I'm not very familiar with FPGA programming but I do have a solid background in C/C++ and I am willing to learn for the project.
Thank you all,
-Vintage Tech
FPGAs are often used for camera interfaces as they can instantiate almost arbitrary data interfaces to the outside world, you can take a single FPGA and it will be able to connect to many different camera interfaces. Embedded (micro)processors/controllers might only have one or two different interfaces for cameras, most will have none. So you can either hunt for an embedded SoC platform that has a suitable interface and program on that, or program it all from scratch with an FPGA.
Pause for a moment here, and realise that you will need a much lower level of electronics and digital skills to get the FPGA route off the ground. If you've never done anything like it before you will spend a long time learning. It opens up many more options and is a useful skill to have, but its an investment for sure. Instead of buffering everything into frames and processing each step, then handing off to a new buffer for the next step to work on as is the naive software approach, FPGAs will process all the steps simultaneously and you will have minimal buffering between each stage. Memory space is at a premium on FPGAs so algorithms are implemented in radically different ways, and its all in fixed point.
Note also the camera you want to use will put out more than 100MB/s, which is hard to write to an SD card, you'll either need some image compression or use much less than the full bandwidth (frame rate * resolution).