8
1 MATLAB Image Processing and Video Blockset. Machine Vision and Smart Sensor for Intelligent Lab. University of Klagenfurt. Email: Alireza.Fasih@uniklu.ac.at What Is Video and Image Processing Blockset? Video and Image Processing Blockset is a tool used for the rapid design, prototyping, graphical simulation, and efficient code generation of video processing algorithms. Video and Image Processing Blockset blocks can import streaming video into the Simulink environment and perform twodimensional filtering, geometric and frequency transforms, block processing, motion estimation, edge detection and other signal processing algorithms. You can also use the blockset in conjunction with RealTime Workshop® to automatically generate embeddable C code for realtime execution.Video and Image Processing Blockset blocks support floatingpoint, integer, and fixedpoint data types. To use any data type other than doubleprecision and singleprecision floating point, you must install Simulink Fixed Point.

MATLAB Image Processing and Video Blockset Image Processing and Video... · 2 Sample 1: Loading and Displaying an Image Create a new project on simulink program, open video and image

Embed Size (px)

Citation preview

1  

MATLAB Image Processing and Video Blockset. 

Machine Vision and Smart Sensor for Intelligent Lab. 

University of Klagenfurt.  

Email: Alireza.Fasih@uni‐klu.ac.at 

What Is Video and Image Processing Blockset? 

Video  and  Image  Processing  Blockset  is  a  tool  used  for  the  rapid  design, prototyping,  graphical  simulation,  and  efficient  code  generation  of  video processing algorithms. Video and Image Processing Blockset blocks can  import streaming video  into  the Simulink environment and perform  two‐dimensional filtering,  geometric  and  frequency  transforms,  block  processing,  motion estimation, edge detection and other signal processing algorithms. You can also use  the  blockset  in  conjunction with  Real‐Time Workshop®  to  automatically generate  embeddable  C  code  for  real‐time  execution.Video  and  Image Processing Blockset blocks support floating‐point, integer, and fixed‐point data types. To use any data  type other  than double‐precision and  single‐precision floating point, you must install Simulink Fixed Point. 

 

 

 

 

 

 

 

 

 

 

 

 

 

2  

Sample 1:  Loading and Displaying an Image 

Create a new project on simulink program, open video and image processing blockset tab, and drag “Image From File” blockset to the page. 

 

 

This blockset can load papers.png file by default. To change parameters value, you must double click on the component. 

 

If you want to access a RGB layer, in image signal combobox select “Separate Color Signal” item. 

 

After this step, you have three separate RGB signal. 

Load New Image 

3  

 

Method for displaying an image or video signals is easy as loading image.  Drag a  “Video  Display”  component  on  the  page.  By  default  Input  signal  in  this component is multi dimensional signal. It means that you can connect any kind of  multi  dimensional  signal  to  this  component,  and  system  can  detect  it automatically.  If  you  need  three  separate  RGB  signal,  go  to  properties  and change  the  Image  signal  to  Separated  Color  Signal,  similar  process  to  the previous step. 

 

 

 

 

Next step is wiring these two components. Connects the component same as below image. And press F5 to see the result. 

 

 

 

 

 

 

 

 

 

 

4  

Sample 2: Color Conversion using Blockset– RGB to Gray Level 

For converting RGB Color space to Gray level scale, we need a color conversion component. By this component we can convert the color information between 9 different color spaces. Such as RGB, HSV, Intensity, etc. 

 

 

 

  

 

 

 

 

 

Result: Gray Scale Image 

 

Sample 3: Implementing RGB to Gray Scale by basic components 

We have a simple equation for color conversion from RGB to gray scale: 

(Gray Scale Value) Luminance value = 0.3 R + 0.59 G + 0.11 B 

For implementing this equation we need three multipliers and two adders. 

 

 

5  

 

 Change the parameters:  

Output data type in all component must change to (uchar 8)  unsigned char 8bit. 

 

 

Result: Gray Scale Image 

6  

 

Sample 4: Embedding Matlab Code in Simulink 

An Embedded MATLAB Function block lets you compose a MATLAB function in Simulink like the following example: 

 

This  capability  is  useful  for  coding  algorithms  that  are  better  stated  in  the textual  language of MATLAB  than  in  the  graphical  language of  Simulink. This block  works  with  a  subset  of  the  MATLAB  language  called  the  Embedded MATLAB  subset,  which  provides  optimizations  for  generating  efficient, production‐quality C code for embedded applications. 

7  

 

First  of  all,  drag  and  drop  “Embedded Matlab  Function”  on  the  page,  and double click on  it. It will open a new Matlab Code Editor. Change the function content, according to the RGB to Gray Scale equation. 

 

 

After this step,  if you close the editor page, the component schematic  IO, will change according to the function input and output parameters. 

 

Double Click on it and Change the Code 

8  

 

Homework‐1: 

Design a project in Simulink for loading and displaying an image, after that  embed  a  Matlab  Code  for  Image  Thresholding.  Only  Display pixels value smaller than 127 and filter the rest. The scale is between 0 and 255. Assign zero for those pixels value which are greater than 127. 

Hint: Don’t forget to change the data type parameters to uchar‐8. 

 

 

Result must be similar to this Image. 

 

 

 

 

Reference: 

Matlab Rev. 2007 Help and Mathworks Company Web site.