Anda di halaman 1dari 6

In this assignment, the theoretical knowledge has been experienced via performing practical tasks in

computer lab. The practical tasks, through these eleven weeks, can be generally divided into three
parts including interaction with image and video editing application, introducing MatLab, and image
compression and compressing in MatLab, to establish the skills in manipulating multimedia assets
and using the concepts and algorithms to process and analyse multimedia assets.

Practical 01 to Practical 04

As multimedia designer is not only producing visual and audio project using Adobe but also dealing
with educational video, image compressing, image processing and data visualization, in these four
practicals I have done some practice with other multimedia editing tools such CamStudio, WinMorph
and codec application.

Practical 01

I captured my video using CamStudio and then compressed the file with Microsoft Video 1 which
reduced the file size from 160MB to 30MB with relatively good quality and smaller size compared
with the other compressed file, which I got using Cinepak Codec.

All of them, including the original file, can be played by Windows Media Player and Daum Potplayer.
The image of the video that I got when playing the compressed files using Windows Media Player
appeared some aliasing, while this problem did not happen in Daum Potplayer.

Submission: On the discussion session of lab session 01

Practical 02

I produced a tutorial video about how to use CamStudio with an interactive menu. The video is
captured on the screen frame by frame that can be modified using Wink to change the order of
frames, add menu button for each frame to control the playing order and add caption or even voice

Submission: On the discussion session of lab session 02

Practical 03

I generated three different diagrams using dot language through GraphViz to practice data
visualisation for user/ customer segmentation application.

Submission: On the discussion session of lab session 03

Practical 04

I warped an image to a desired expression using WinMorph by cropping the desired outline in on the
original and then designating the original element that I want to change to the outline. This
application also enables me to create a video to show the transition that how different image
change into each other.

Submission: On the discussion session of lab session 04

The skills have been used for completing these four tasks are relatively straight forward, most of the
outcomes can be easily achieved by following the tutorial step by step, especially practical 01 and
practical 02. And these two practicals provide us a practical opportunity to experience the prevalent
applications in producing educational videos that we usually used for learning new skills online.
Additionally, as multimedia students, a significant duty for us in real industry is to ensure that final
production can be propagated through internet within a reasonable time when only a limit
bandwidth is available. Therefore, it is important for me to do more trial and error when
compression my project by using MSC-SC-Codec or other codec application, to find a good balance
between resulting quality after compression and the file size. In the third lab session, I begin to learn
a new language dot that share a lots of similarity with html in relation expression data into
diagram that helps audience to acquire abstract information more accurately and efficiently,
compared with reading table or text content. The task is a little bit challenging for me at the
beginning, since the order of the procedures involved in this task is inverted, compared with the
order of drawing a diagram based on a description. However, this also make the deign more
generalised and reusable, since the modification is only required for some parts of the scripts, like
the reusability applied in other programming language. In practical 4, I generally got the working
principles used for image warping and morphing that transform an image to another image with
similar content. Based on the practical, I think for producing an accurate warped and morphed
image, it is important to give an accurate and detailed outline that highlighted all the primary
elements where the transformation can be easily detected by human eyes to producing an accurate
warped and morphed image. And this task did give me some clue how image content being
processed efficiently by computer that only changes are the content being deal with.

Practical 05 to 06 Introducing MatLab

MatLab is an interactive software system for numerical computation and graphics, especially
designer for matrix computation which is a common that how image being interpreted by computer.
At the beginning stage, these two practicals are designer for us to experience some basic
functionality or functions that provided in Matlab through performing arithmetic on matrix,
converting image type, compressing image, design Huffman code and justifying using the function of
garneting the value of entropy.


MatLab is a powerful application in numeric calculation and image compression. In my point of view,
these practicals have introduced me a new concept of image in relation to image procession or
compression operation, in other word, an image used for computation purpose is traded as a set of
pixels that contains different value which can be interpreted by computer.

Practical 07 to 11 Image processing

From week 7, we began to experience the working principles behind image processing and
morphological image processing. In terms of image processing, we are still traded an image as a set
of different value for grey scale image and indexed image or three sets of different value for true
colour image. While when doing morphological image processing, usually, the matrix of an image
will be converted into a logical set that only contain existing and empty meanings that represented
with 1 and 0, respectively.

Image processing is the main content we need to investigate in this unit. No matter the image
processing used for image editing application such as Photoshop or advanced image processing
technique morphological image processing via refining the existing image to generate or detect
new information, the techniques behind these functions have be revealed through working with
MatLab. Therefore, we can modify the image resources more specifically in a short time rather than
doing trial and error using Photoshop. The modification applied on the images is not only change the
image from the aesthetic aspect but also provide indispensable contribution for medical industry,
using edge detection technique to refine the details on X-ray photo; artificial intelligence, figure print
detection, face detection; meteorology; and creating skeletal draft for cartoon figure.

Task 2

The problem solving task aims for test the ability to apply multimedia concepts and methods
including visualisation, point processing, neighbourhood processing, and morphological processing,
and the understanding of popular compression principles. In terms of practical aspect, these skills
are required in manipulating multimedia assets using scripts for processing and visualisation and
processing and analysing multimedia assets.

Part I to II General knowledge

Reviewing several key concepts involved in this Unit from colour image to morphological image
processing to data visualisation.

Part III to vii Image compression and processing

To complete these tasks, I calculated the matrix operation manually or using Excel and then check
the result in Matlab.

Part viii Matlab programming

Step 1 Generalisation

At the beginning of solving this task, I only focus on greyscale image that only contains on matrix
which can be operate in for loop for manipulated each pixel one by one based on the input
perimeter provided by user. However, I think it is possible to generalise this function for true colour
image that contains three separate matrices. Thus if this function is applied on true colour image,
the first step is storing the three matrices into three individual matrices and then manipulating the
value belonging to each matrix separately. While this function is still available for greyscale image,
that at the beginning, the function will evaluate the number of matrices before allowing it being
processed, if the value of l is 1, which means the image is greyscale image containing one matrix
then the step of storing matrices in three separate matrices is skipped.

Step 2 Obtaining maximum and medium value for solarisation

Since the solarisation operation is based on the maximum value and medium value within the same
matrix, that if lighten the image converting all the value small than medium valve to its complement
value (maximum its value), while if darken the image then converting the value big than medium
to its complement value. The key thing to ware of is to obtain the maximum value or medium value
of the matrix, the function max (images matrix) should be applied twice - - max (max (images
matrix)) or median (median (images matrix r)), since each time this function only produces the
result based on the values within the same row.

Step 3 Processing each target value

According to the principles of solarisation only a part of the pixel of the image will be processed.
Thus I decide to evaluate the value of the element / pixel first in a conditional enclosure and then
processing the target value according to the input value.


In my opinion task 2 is the most comprehensive tasks compared with task 1 and task 3 that only test
the practical skill about how to applying the concept using MatLab. Task 2 gives me an opportunity
to enhance the most primary theoretical concepts that support all the functions used in MatLab
including image compression and image processing and morphological image processing. The most
difficult part is to manually manipulate each value in the matrix, since amount of precision is
required. And through completing the MatLab programming task, I get a relatively clear
understanding about how a RGB image is processing by MatLab and the relationship between the
three matrices.

Task 3

In task 3 our group develop a multimedia package to demonstrate how to use our application to
automatically count the number of coins and the total value of the coins in the image that user
selected in the folder through the GUI developed in MatLab as well.

My role in this project - Programing developer

I developed the function using MatLab and the customised GUI in MatLAb as well. Except recalling
the theoretical knowledge I acquired in the lectures, the other main instructional resource I used for
completing this task is MatLab document that gives me detailed explanation about what properties
are available for this function, in other words, what result I can get from using this function on my


Stage One: Developing the function

As in this stage, I have no grantee for my design is possible or not, I develop the function individually
without connecting the script to the GUI. In order to check the result for debugging purpose, except
provide two required outputs including number the number of coins and dollar the value of
coins, I also set d1 and d2 for getting the number of $1 coins and $2 coins, respectively.

Stage two: Pre-processing the image

Since the morphological image processing technique is commonly used for logical image that only
contains 0 and 1 value in the matrix, I firstly converted the image from RGB to greyscale image then
setting a threshold for converting all the value to 0 or 1. This is most important part that determined
the integrity and clarity of edges of coins that are the main data for applying closing and imfill
function in the next step. According to my threshold, which is decided by trial and error, I converted
original grayscale image into its complimented version to get coins as foreground consisting of value
1 and black background consisting of value 0.

Stage three: Closing function

In order to check outcome of operation step by step, separated opening function into two steps
dilation and erosion while using imshow function to check the results. Applying imdilate() to fill up
the white noise in the image from step 3 with a small size mask. Applying imerode() with the same
mask that was used in last step to move the excess generated from last step and restore the objects
in the image back to their original size. The result is acceptable when each coin is entirely separated
with each other.

Stage four: Filling hole

After getting an image contains white coins with sharp clear edges, using imfill function to ensure
that each coin become into a whit blob without black pixel inside.

Stage five: Storing coin information

First step in this stage is to label each hole and then storing the index number of coins in a matrix.
Secondly, using regionprops function on the labelled image to get the dimension of each hole then
storing the value of dimension in a new matrix called coinInfor. Then only storing the dimension
value of each coin to a new matrix called coinDime through calling the property of
MajorAxisLength of each element stroing in the coinInfor matrix.

Stage six: Comparing the size

The condition used for determine the value of each coin is the size of the hole, more specially, the
value of dimension large than the average value is assumed as $2, otherwise is $1. The average value
is obtained using mean function on the coinDime matrix, each value stored in this matrix is
evaluated through a for loop, and the totally value of all coins is the sum of value of $1 and $2.

Connecting GUI and function:

The Automatic coins counter function performs in two steps. Firstly, user should load the image by
clicking on Load coins image button and then lunch the function by clicking on the Count coins and
value button. The final results including the original image is displayed on the window as well.

Since the function is technically competed in two steps, the original scripts is separated in two part,
one is connected with Load coins image button for reading input, the operation part is connected
with Count coins and value button. And all the input and output is obtained, modified and set
through handles as an object used in this project for data encapsulation.

Link of the final script:

Mistakes I have made:

At the beginning of design this project, I did not set a proper threshold resulting in endless Trial
and error procedure. And also I set the structuring element with a relative large size that made the
resulting image being dilated to much that impossible to isolated each coin.


To be honestly, applying theoretical concept into a real practical project is not as simple as what I
have done in the lab session. Without deep understanding about morphological image processing
principle, it is so each to get strayed, and the result is impossible to be rectified in the following

From this task, I do get a deep understand about opening function, instead of analysing the image as
a matrix that depicts a picture, the logical image is a string that can be encrypted by the SE you apply
and then decrypted via using the same SE. From the image processing point of view, the SE is
processing the image by moving all the 1 value in a same direction, and then move each pixel back to
its original place by apply an opposite function using the same SE. The more accurate of SE you set
the more intact result you can get, that only the small dots regarded as noise can be removed
without dramatically change the size of the enclose.

Except counting coin number of the image, the main concept behind this function counting
isolated shapes can be used for other artificial intelligence project for analysing objects in the image
for military industry and medical industry like counting the number of cell.


The technique I have learnt in the unit basically covers all the primary techniques that support
designer to produce the digital artwork in multimedia editing and authoring application. These
working principles not only being applied in multimedia design industry, such as photo editing in
Photoshop using image compression and image processing technique, creating shape tween for a
digital character in Adobe Flash using image monological processing, and encoding audio and video
clip in other editing application, but also make significant contribution in other industries that are
highly related peoples daily live, including medical, building, military, mining, and IT via refining
image detail and data visualisation, which are making image and data easy for human to read. On
the other hand, the information presented by image which is easy for human to read can also be
abstracted by using image/image morphological processing function to help computer to analysis
this information more accurately.

Furthermore, since image processing and image morphological processing techniques are all
providing the algorithms or functions that can be used for removing noise from image and refining
subtle details in the image, in terms of protecting our social stability, the suspect and criminal
behaviour or other potential criminal hazards can be more accurately and efficiently detected from
the pre-processed image or video captured by CCTV, compared with reading the image without
being processed with image processing functions. The medical industry and IT industry can also get
benefits by refining image using these techniques when analysing image of patients X-ray photo and
photo of small scale electrical component.

Overall, multimedia systems and technology is not only to help a multimedia designer to produce
innovative artefacts, but also helping our community in various aspects with practical purposes via
optimising the quality of digital information for human and computer to analyse.