Going from Video Processing in MATLAB to Video Processing on a microprocessor/control

Discussion in 'Embedded Systems and Microcontrollers' started by integral, Aug 19, 2010.

  1. integral

    Thread Starter New Member

    Aug 19, 2010
    Going from Video Processing in MATLAB to Video Processing on a microprocessor/controller


    I just started working on a project and the goal of the project is to replicate the results that were obtained in MATLAB on a microprocessor/controller. However I am very new to this so I need help figuring out where I need to start.

    Background information (What was done in MATLAB).
    This was first done in MATLAB to see if the proposed algorithm to solve the original problem could actually work.

    An input video was loaded into MATLAB.
    Code (algorithm) was written in MATLAB to process the video.
    After processing the video MATLAB outputted a ‘results video’.
    We were happy with what we saw in the ‘results video’ and now we want to design/build a standalone system that will replicate the results.

    Live video will come from a webcam, enter the processor/controller board, software on the board will process the video and then output one or more signals to external devices to perform an action.

    From the research that I have done online, I know that MATLAB can generate c and/or c++ code but I don’t know what the process is to go from MATLAB code to code that will work on processor/controller. What Matlab toolboxes do I need?
    What other tools and devices do I need?
    Is there a processor/controller out there that is the best suited for what we are planning on doing?
    Are there camera/board packages that are already out there that can be used?

    Reading through the MathWorks website I have a feeling a need the following toolboxes but I am not sure:
    Target Support Package
    Real Time Workshop
    Real Time Workshop Embedded
  2. gootee

    Senior Member

    Apr 24, 2007
    Just using C as an example, I imagine that one major step would be creating a standalone C program that does what you want and getting it running on a PC.

    At the same time, you would want to know what kind of C environments (both development and runtime) are available for embedded processors, so you could try to make sure that your code could be ported to the embedded environment(s) where you eventually want it to run.

    I have to say, too, that unless such things have gotten a WHOLE LOT more seamless and easy than they used to be, the idea of trying this with automatically-generated C code scares me.
    Last edited: Aug 24, 2010
  3. integral

    Thread Starter New Member

    Aug 19, 2010
    Just in case someone needs the same information in the future:

    I ended up calling up Mathworks and I was told the following...
    For algorithm development & system modeling
    Image Processing Toolbox
    Signal Processing Toolbox
    Statistics Toolbox
    Signal Processing Blockset
    Video and Image Processing Blockset

    C code generation from MATLAB code or Simulink models
    Real Time Workshop
    Real Time Workshop Embedded Coder

    If targeting fixed processor / want fixed point C code
    Fix point toolbox
    Simulink Fixed Point