Convert Between Simulink Image Type and Matrices
You can import image data into a Simulink® model as matrix data or as an image with the Simulink.ImageType data type. Image To
                Matrix and Matrix To
                Image blocks convert between Simulink image data and matrix data. Use these
            blocks to integrate Simulink image data into an image processing algorithm that contains
            blocks that do not support Simulink image data. 
Copy Example Model to a Writable Location
To access the path to the example folder, at the MATLAB® command line, enter:
OpenCVSimulinkExamples;
Copy the example model ex_imagetypes to a writable folder
                location.
Example Model
The model ex_imagetypes contains two input images,
                    coins and peppers_bw, specified as
                matrices. The MATLAB Function block contrast_histeq converts the
                original images into high-contrast images. The MATLAB Function block
                operates on matrix data only. The Image To Matrix block converts the
                image data from the Switch block into a matrix to enable the MATLAB
                    Function block to process it.
Simulate Model
On the Simulink toolstrip, in the Simulation tab, select
                    Run to simulate the model. The Video
                    Viewer block Video Viewer Original displays the
                original images imported into the model, and Video Viewer High
                    Contrast displays the high-contrasted images after image
                processing.


Generate C++ Code
To generate C++ code:
- On the Apps tab on the Simulink toolstrip, select Simulink Coder. On the C++ Code tab, in the Settings list, select C/C++ Code generation settings to open the Configuration Parameters dialog box and verify these settings: - In the Simulation Target pane, Language is set to - C++.
- In the Code Generation pane, under Target selection, Language is set to - C++.
- In the same section, Language standard is set to - C++11 (ISO).
 
- Click the Build button and generate code. 
- To view the generated code, on the Simulink toolstrip, click the Open Report button. 
In the ex_imagetype.h file, the code generator declares
                root-level Outports Out_normmal as a member of the C++ class
                    images::datatypes::Image implemented by The MathWorks® and Out_highContrast as a matrix
                image:
/* External outputs (root outports fed by signals with default storage) */
struct ExtY_ex_imagetypes_T {
  images::datatypes::Image Out_normal; /* '<Root>/Out_normal' */
  uint8_T Out_highContrast[73800];     /* '<Root>/Out_highContrast' */
};The code generator initializes signals of the Simulink.ImageType
                data type in the ex_imagetypes.c
                file:
/* Model initialize function */
void ex_imagetypes::initialize()
{
  /* Registration code */
  constructImage(&ex_imagetypes_B.toImage, 1U, 246U, 300U, images::datatypes::
                 ColorFormat::Grayscale, images::datatypes::Layout::
                 ColumnMajorPlanar, images::datatypes::ClassUnderlying::Uint8);
  constructImage(&ex_imagetypes_Y.Out_normal, 1U, 246U, 300U, images::datatypes::
                 ColorFormat::Grayscale, images::datatypes::Layout::
                 ColumnMajorPlanar, images::datatypes::ClassUnderlying::Uint8);
  ...
}This is the code for a Matrix To Image block:
/* ToImage: '<S2>/toImage' incorporates: * Constant: '<Root>/coins' * Outport: '<Root>/Out_normal' */ imgData = imageGetDataFcn(&ex_imagetypes_Y.Out_normal); inPtr = &ex_imagetypes_ConstP.coins_Value[0]; std::memcpy(imgData, inPtr, sizeof(uint8_T) * 73800U);
This is the code for the Image To Matrix block:
/* FromImage: '<S1>/fromImage' incorporates: * Outport: '<Root>/Out_normal' */ tmp_3 = ex_imagetypes_Y.Out_normal; imgData = imageGetDataFcn(&tmp_3); std::memcpy(&ex_imagetypes_B.fromImage[0], imgData, sizeof(uint8_T) * 73800U);
When a model contains signals of the Simulink.ImageType data
                type, the code generator produces additional shared utility files. These files
                declare and define utilities to construct, destruct, and return information about
                meta attributes of the images:
- image_type.h
- image_type.cpp
See Also
Matrix To
                    Image | Image To
                    Matrix | Simulink.ImageType