This example shows how to use video cartoonizer to enhance colors of the recorded video by using the OpenCV Importer. The cartoonizer varies the colors in the video using parameters such as
First import an OpenCV function into Simulink® by using the Install and Use Computer Vision Toolbox Interface for OpenCV in Simulink. The wizard creates a Simulink library that contains a subsystem and a C Caller block for the specified OpenCV function. The subsystem is then used in a preconfigured Simulink model to accept the recorded video. The cartoonizer works per the
ramp value. You can change the
ramp values using the slider component available in the model.
You learn how to:
Import an OpenCV function into a Simulink library.
Use blocks from a generated library in a Simulink model.
To build the OpenCV libraries, identify a compatible C++ compiler for your operating system, as described in Portable C Code Generation for Functions That Use OpenCV Library. Configure the identified compiler by using the mex -setup c++ command. For more information, see Choose a C++ Compiler.
In this example, a video cartoonizer is implemented by using the Simulink model
In this model, the
subsystem_slwrap_cartoonize subsystem resides in the
Cartoonizer_Lib library. You create the
subsystem_slwrap_cartoonize subsystem by using the OpenCV Importer. The subsystem accepts a video from the From Multimedia File block,
threshold, and a
ramp value to cartoonize the video. The output is displayed using the Video Viewer block. In the
inImage is the input image,
maskRadius is the size of the image filter for intensity comparison,
threshold is the threshold intensity difference between pixels which results in darkening the video,
ramp is intensity gradient in the output image and
outImage is the output image. The sliders of
ramp is used to change the value during the simulation.
To access the path to the example folder, at the MATLAB® command line, enter:
Each subfolder contains all the supporting files required to run the example.
Before proceeding with these steps, ensure that you copy the example folder to a writable folder location and change your current working folder to
...example\Cartoonizer. All your output files are saved to this folder.
1. To start the OpenCV Importer app, click Apps on the MATLAB Toolstrip. In the Welcome page, specify the Project name as
Cartoonizer. Make sure that the project name does not contain any spaces. Click Next.
2. In Specify OpenCV Library, specify these file locations, and then click Next.
Project root folder : Specify the path of your example folder. This path is the path to the writable project folder where you have saved your example files. All your output files are saved to this folder.
Source files : Specify the path of the
.cpp file located inside your project folder as
Include files : Specify the path of the
.hpp header file located inside your project folder as
3. Analyze your library to find the functions and types for import. Once the analysis is complete, click Next. Select the
cartoonize function and click Next.
4. From What to import, select the
I/O Type for
outImg as Output and then click Next.
5. In Create Simulink Library, verify the default values and click Next.
A Simulink library
cartoonize_Lib is created from your OpenCV code into the project root folder. The library contains a subsystem and a C Caller block. You can use any of these blocks for model simulation. In this example, the subsystem
subsystem_slwrap_cartoonize is used.
To use the generated subsystem
subsystem_slwrap_cartoonize with the Simulink model
1. In your MATLAB Current Folder, right-click the model
Cartoonizer.slx and click
Open from the context menu. In the model, delete the existing
subsystem_slwrap_cartoonize subsystem and drag the generated subsystem
subsystem_slwrap_cartoonize from the
cartoonize_Lib library to the model. Connect the subsystem to the MATLAB Function block.
2. Double-click the subsystem and specify these parameter values.
3. Click Apply, and then click OK.
On the Simulink Toolstrip, in the Simulation tab, click on simulate the model button. After the simulation is complete, the Video Viewer block displays the video with color enhancement based on the value of